一闽巩、@property參數(shù)
1丰包、控制set方法的內(nèi)存管理
retain:release舊值爆价,retain新值(用于OC對象)
assign:直接賦值垦巴,不做任何內(nèi)存管理(默認,用于非OC對象類型)
copy:release舊值允坚,copy新值(一般用于NSString魂那、Block)
2、控制需不需生成set方法
readwrite:同時生成set方法和get方法(默認)
readonly:只會生成get方法
3稠项、多線程管理
atomic:提供多線程安全涯雅。是oc使用的一種線程保護技術(shù),是防止在未完成的時候被另外一個線程讀取展运,造成數(shù)據(jù)錯誤活逆。而這種機? 制是耗費系統(tǒng)資源的精刷,所以在Iphone這種小型設(shè)備上,如果沒有使用多線程間的通訊編程蔗候,那么nonatomic是一個非常好的選擇怒允。
nonatomic:禁止多線程,變量保護锈遥,提高性能纫事。
4、控制set方法和get方法的名稱
setter:設(shè)置set方法的名稱所灸,一定有個冒號:
getter:設(shè)置get方法的名稱
5丽惶、值可否為空
nullable可空類型。
null_resettable來表示setter nullable爬立,但是getter nonnnull钾唬。
6、ARC下@property修飾符
strong : 用于OC對象, 相當(dāng)于MRC中的retain
weak : 用于OC對象, 相當(dāng)于MRC中的assign
assign : 用于基本數(shù)據(jù)類型, 跟MRC中的assign一樣