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

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

作者: 梦蕊dream | 来源:发表于2017-06-15 23:58 被阅读19次

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

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

    区别:

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

    建议:

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

    总结

    • 对象内部读取数据时,对象读数据采用直接变量来读取,写入数据采用属性值获取
    • 初始化方法、dealloc方法中,直接通过实例变量来读取
    • 懒加载使用属性值来读取数据

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/zvfpqxtx.html