参数主要分为三类:
1) 读写属性: (readwrite/readonly/setter = /getter = ) 2) setter语意:(assign/retain/copy) 3) 原子性: (atomicity/nonatomic)
各参数意义如下:
readwrite 产生setter\getter方法
readonly 只产生简单的getter,没有setter, 默认的读写属性.
setter = 指定生成setter方法的名字
getter = 指定生成getter方法的名字 //======================================= assign 默认类型,setter方法直接赋值,而不进行retain操作, 适用于基本数据类型, 对对象类型, 不会发生引用计数变化.
retain setter方法对参数进行release旧值,再retain新值。
copy setter方法进行Copy操作,与retain一样 //======================================= atomic 保证多线程访问下的安全, 但浪费系统资源, 原子性控制的默认设置.
nonatomic 禁止多线程,变量保护,提高性能 |