——数据的存取访问方式:(readonly,readwrite):表示一个属性是可以赋值的还是只读的。默认是readwrite。一个属性只能拥有其中的一种。
——线程安全(atomic,nonatomic):如果给一个属性设定了atomic关键字,那么所有同时访问属性的访问者都会被锁定以保证线程安全;nonatomic关键词不会锁定,并且通常被用在iOS,因为大量的锁定会降低性能;
——存储方式(assign,retain,copy,strong,weak):无向性变量类型默认是assign存储类型,对象默认用retain来增加引用计数器的数值(同样也会因为引用计数器数值改变或者unset来释放);如果一个对象的值支持,你可以使用copy来暗示这个对象可以被全部拷贝,并不仅仅是引用(对可变变量比较有用);strong和weak是跟随ARC随之而来的心得修饰词:前者表示对对象的一种强引用,后者是一种无保零参考。如果这个值被释放,那么这个值的所有属性会被自动的赋值为nil。但一个变量只可以赋值这里面的其中一个。
——方法(getter = ,setter = ):这个可以方便对一个属性的自定义方法进行定义;这个常常被用在BOOL类型的属性上,比如一个hidden属性的setter和getter方法可以是isHidden 和setHidden:.
时间: 2025-01-09 06:41:37