本文為大地瓜原創(chuàng),歡迎知識共享恭应,轉(zhuǎn)載請注明出處乳蛾。
雖然你不注明出處我也沒什么精力和你計較。
作者微信號:christgreenlaw
property修飾符
- 相同類型的修飾符不能同時使用枣申。
- 不同類型的修飾符可以結(jié)合使用,中間用逗號隔開
- iOS開發(fā)中只要寫了property看杭,馬上寫上nonatomic
readonly 只生成getter
readwrite getter和setter都會生成忠藤,什么都不寫默認就是這樣
getter 給getter起名
setter 給setter起名//這兩個可以同時用,它們不是互斥關(guān)系
retain 會生成內(nèi)存管理的方法
assign 不會生成內(nèi)存管理的方法楼雹,默認就是這個
@class指令
#import是一個預編譯指令模孩,會將""中的內(nèi)容拷貝到import所在的位置
#import有一個特點,若""中的文件發(fā)生變化贮缅,則會重新拷貝一次
@class只是告訴編譯器榨咐,@class后面是一個類,而不會做任何拷貝操作
但也正是由于它沒有做拷貝操作谴供,編譯器并不知道這個類都有什么屬性和方法块茁,需要在.m中正式使用時再#import一下
在類似于.h的情況下,如果只需要使用類型而不需要使用實例對象做一些操作的話,可以使用@class來提升編譯效率
@class也可以用來處理循環(huán)拷貝的問題数焊,若A.h中import B.h永淌, B.h中import A.h,則會循環(huán)拷貝佩耳。此時可以在.h中使用@class遂蛀,.m中使用import,既提升編譯效率干厚,又不會引用循環(huán)李滴。
實際上,建議:任何時候優(yōu)先考慮@class蛮瞄,在真正需要使用某個類做操作時再使用import所坯。盡可能提高效率。