ios-@property属性(特性)

组1:内存属性

assign - 弱引用,浅拷贝,对象引用计数不会改变,可描述基本类型(int,double,bool),常用与描述基本类型

unsafe_unretained - 同于assign,但不可描述基本类型只能描述类,之所以不安全,表示的是对象被释放后改用于指针不会指向nil,而是还在原来的地址上,下次使用会出问题。

weak - 弱引用,浅拷贝,同于unsafe_unretained,也只能描述类,不同的是它是安全的,在对象被释放后会自动指向nil

strong - 强引用,浅拷贝,引用计数+1

copy - 深拷贝,强引用

组2:getset属性

getter=<name> - 重写获取方法,将<name>用重新写好的方法名代替。常用bool类型,gett方面名前加is

setter=<name>重写设置方法,将<name>用重新写好的方法名代替。

组3:读写属性

readwrite - 可读可写(默认),编译器自动生成get和set方法用于调用

readonly - 只读,不能用set方面修改

组4:原子属性

atomic - 原子性(默认),属性读写都会受到锁保护,不会因为多线程情况下,一个线程还没写完就被另一个线程读出而出现异常

nonatomic - 非原子性,不进行锁保护,性能比atomic高

 

你可能感兴趣的:(ios-@property属性(特性))