直接访问实例变量 VS 通过点语法访问实例变量
- 直接访问实例变量,不会经过 OC 的方法派发机制,速度比较块。会直接访问对象的实例变量对应的内存。
- 直接访问实例变量,不会调用“设置方法”。绕过了相关属性对应的“内存管理语义”。比如
copy
。 - 直接访问实例变量,不会触发 KVO。
- 通过点语法访问实例变量,方便调试。因为可以新增断点。
应该怎么做
- 写入实例变量时,通过点语法。便于控制对属性的写入操作。
- 读取实例变量时,直接访问。加快速度?
- 初始化方法中,必须直接访问实例变量。因为子类可能复写设置方法。
下起雨,也要勇敢前行