@property (atomic,strong) NSArray *array;
@property (nonatomic,assign) int intValue;
- 原子(atomic)
- atomic 內(nèi)部會為setter方法加鎖碍拆,提供多線程安全蓉驹。是防止在寫未完成的時候被另外一個線程讀取列另,造成數(shù)據(jù)錯誤,但是需要耗費性能往弓。
- 非原子(nonatomic)
- nonatomic: 不會為setter方法加鎖疏唾,非線程安全,在自己管理內(nèi)存的環(huán)境中函似,解析的訪問器保留并自動釋放返回的值槐脏,如果指定了 nonatomic ,那么訪問器只是簡單地返回這個值撇寞,性能好顿天。
- 建議:開發(fā)中建議所有的屬性都優(yōu)先使用非原子屬性堂氯,如果確實發(fā)生了多線程訪問某一個屬性的情況,再具體修改該屬性為atomic牌废,可以提高程序性能又保證安全
- assign
-
基本數(shù)據(jù)類型
咽白、枚舉
、結(jié)構(gòu)體
等非OC對象類型
-
- weak
- OC對象類型(比如NSArray鸟缕、NSDate、NSNumber懂从、模型類)
- strong
- OC對象類型(比如NSArray侵贵、NSDate模燥、NSNumber、模型類)
- 一個對象只要有強指針引用著,就不會被銷毀
- copy
- 一般用在
NSString
檐迟、block
類型上
- 一般用在