結(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)];