OC 直接使用使用实例变量和通过属性来访问实例变量的区别
1、直接使用实例变量(_varName)比通过点语法(self.varName)有更快的访问速度
2、直接访问实例变量,不会调用设置方法,绕过了相关属性所定义的内存管理语义
3、直接访问实例变量,不会触发【键值观察】(Key-Vaule Observinig,KVO)通知。
4、通过属性来访问有助于拍照与之相关的错误。因为可以在setter,getter方法中新增断点,监控该属性的调用者及其访问时机。
具体选择还是要具体确定。不过这还关系到团队编码风格的规定。例如为了编码统一,都使用通过属性访问实例变量。
几个注意点: