從結(jié)構(gòu)體和類的區(qū)別到自定義結(jié)構(gòu)體

結(jié)構(gòu)體和類的區(qū)別

1、結(jié)構(gòu)體只能封裝屬性,類卻不僅可以封裝屬性也可以封裝方法。

2、結(jié)構(gòu)體變量分配在棧,而OC對象分配在堆。棧的空間相對于堆來說是比較小的,但是存儲在棧中的數(shù)據(jù)訪問效率相對于堆而言是比較高。

3、堆的存儲空間比較大,存儲在堆中的數(shù)據(jù)訪問效率相對于棧而言是比較低的。

4、如果定義一個結(jié)構(gòu)體,這個結(jié)構(gòu)體中有很多屬性,那么這個時候結(jié)構(gòu)體變量在棧中會占據(jù)很多空間,這樣的話就會降低效率。

5、我們使用結(jié)構(gòu)體的時候最好是屬性比較少的結(jié)構(gòu)體對象如果屬性較多的話就要使用類了。

6、結(jié)構(gòu)體賦值的話是直接賦值,而OC對象賦值的是對象的地址。


自定義結(jié)構(gòu)體



在外邊調(diào)用的時候就可以傳入一個結(jié)構(gòu)體進(jìn)來 ? ? ? ?

[_redView setFrameWithLKSize:LKSizeMake(100, 150, 200, 200)];



憤怒的牛牛的簡書

憤怒的牛牛的新浪博客

憤怒的牛牛的GitHub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容