大致可以分为下面四类
一、set方法内存管理相关的参数
retain(适用于OC对象类型):将原来的值释放掉(release),retain新值(指针计数+1)
assign(适用于非对象类型):直接赋值,对象默认的就是assign
copy:将原来的值释放掉,copy新值
二、是否生成set方法
readwrite:同时生成set和get方法的声明和实现
readonly:只会生成get方法的声明和实现
三、多线程管理
nonatomic:性能比较高,通常都是用这个参数
atomic:性能比较低,如果不说明,默认的也是atomic,所以一般使用的时候都会使用nonatomic
四、set、get方法的名称
setter:决定了set方法的名称,因为需要传入参数,所以名称的后边要有个冒号
getter:决定了get方法的名称,一般声明bool类型变量时会使用,不如 isXXXX