1. property
1.1 定义及用法
- property相当于
ivar + 存取方法
- 默认生成
getter
、setter
以及带下划线的变量名,使用点语法可以调用存取方法 - 点语法在左边时调用
setter
,就是把右边的值赋给self.xxx
,相应的点语法在右边就是调用getter
1.2 几种修饰符
读写语义:
readonly
:表示修饰的属性只读,只有getter没有setterreadwrite
:修饰的属性可读可写,既有getter也有setter- 默认读写语义参数为
readwrite
原子性语义:
atomic
、nonatomic
,ACID中的A,指的是多线程中同一个变量是否可被多个线程访问和修改;- OC的property默认原子性语义是
atomic
,会对setter
加锁,但会影响性能; - 如不是特殊情况如多线程的通信编程,用
nonatomic
提高多线程并发访问的性能。
内存管理语义:
assig