iOS 各种属性

readonly只读不可以被赋值,只生成getter不会有setter方法

readwrite可读可写没有声明成readonly,那就默认是readwrite。可以用来赋值,也可以被赋值

retain  MRC属性必须是objc对象,拥有对象所有权引用计数加1

copy属性必须是objc对象,拥有对象所有权,建立一个索引计数为1的对象,然后释放旧对象,copy后是不可变的

assign用在对对象没有所有权的时候,通常是delegate.直接赋值

weak弱引用不能持有对象,释放后设置为空

strong强引用,持有对象,当对象不显示在列表中,进行释放

nonatomic非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高性能

atomic提供多线程安全

unsafe_unretained不安全修饰符,作用同weak不持有对象在ios4之前使用

setter指定set方法,并需要实现这个方法。带一个与声明类型相同的参数,没有返回值(返回空值)

getter指定get方法,并需要实现这个方法。必须返回与声明类型相同的变量,没有参数

nonnull不能为空

nullable可以为空

你可能感兴趣的:(iOS 各种属性)