OC——52个有效方法:7.对象内部尽量直接使用访问实例变量

建议:采用直接访问取值的方法

  • 直接取值 : _name、_age
  • 属性访问 :self.name、self.age

区别:

  • 直接访问属性速度快,编译器生成代码会直接访问保存对象的内存
  • 直接访问,不会调用getter方法。例如在ARC下访问copy的属性,不会拷贝该属性,只会保留新值,释放旧值。
  • 直接访问,不会触发KVO
  • 直接访问,可以给setter和getter方法加断点,监控该属性的调用者和访问时机

建议:

  • 采用getter方法写值,采用setter读取直接访问变量
  • 初始化方法设置属性值,直接访问实例变量,根据情况而定是否采取getter方法
  • 懒加载,必须采用setter方法写值,不然永远都不会初始化!

总结

  • 对象内部读取数据时,对象读数据采用直接变量来读取,写入数据采用属性值获取
  • 初始化方法、dealloc方法中,直接通过实例变量来读取
  • 懒加载使用属性值来读取数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容