nonatomic:访问速度快,但是线程间属性或者变量的调度是不安全的!比如:在一个线程里面调用了其get方法,另外一个线程同时在调用其set方法!会出现无法预料的结果;解决方法(添加线程锁)!
atomic:访问速度慢,因为要保证操作整体完成,会保证 别的线程来访问这个属性之前,先执行完当前流程;
copy:字符串,或者block的声明使用copy
strong:strong和retain相似,只要有一个strong指针指向对象,该对象就不会被销毁;强引用!
assign:一般数据类型使用,比如:int Float NSInteger
weak:weak指针指向的对象一旦被释放,weak的指针都将被赋值为nil ;一般用于xib手托的控件
__weak:对于对象的声明,如果要使用弱引用,可以使用__weak,如:__weak typeof(self) _self=self;就可以直接使用_self了。
__strong:对于变量的声明,如果要使用强引用,可以使用strong,默认就是strong,写不写都是一样的。
时间关系就写到这吧,有要补充的可以留言!