其中参数主要分为三类
读写: (readwrite/readonly)
set:(assign/retain/copy)
原子性:(atomic/nonatomic)
各参数意义如下:
readwrite: 产生setter\getter方法
readonly: 只产生简单的getter,没有setter。
assign: 默认类型,setter方法直接赋值,而不进行retain操作
retain: setter方法对参数进行release旧值,再retain新值。
copy: setter方法进行Copy操作,与retain一样
nonatomic: 禁止多线程,变量保护,提高性能
atomic:默认,防止线程互斥出现(锁死),会消耗一定的资源,如果不是多线程使用nonatomic