在ARC机制中可使用以下指示符
1) getter, setter用于修改改getter与setter的方法名,修改后依然可以使用”.”访问属性。
2) readonly只合成getter方法
3) readwrite合成getter与setter方法,默认就是这个指示符
4) atomic同步getter/setter方法,线程安全。
5) nonatomic不同步getter/setter方法,线程不安全。默认就是这个指示符
6) strong强引用,该属性没有被销毁,并且引用着被赋值的对象,那么这个对象就永远不会被销毁
7) weak弱引用,被赋值的对象在内存紧时会被销毁,哪怕该属性还引用起被赋值的对象。当被赋值对象被销毁后,该属性会被赋值为nil
8)unsafe_unretained与weak的作用差不多,只有一个区别。当被引用的对象被销毁后。weak的属性会被赋值nil,而unsafe_unretained的值不变,成为野指针。所以使用unsafe_unretained还不如使用weak。
9) assign 作用与unsafe_unretained相同
10)retain 作用与strong相同
11) copy 只能用于NSString* 属性中,作用是克隆一个字符串来为属性赋值。
网友评论