码迷,mamicode.com
首页 > 其他好文 > 详细

读Effective Objective C总结(二)

时间:2015-08-21 23:34:41      阅读:647      评论:0      收藏:0      [点我收藏+]

标签:property   编译器   

  1. OC编译器的特性:在声明成员变量时,编译器会产生一个硬编码的偏移量,它表示变量距离存放该对象的内存区域的起始地址的长度。OC把这个偏移量作为类对象的一个特殊变量,在runtime时期查找,就总可以生成正确的偏移量.

  2. @property 属性:在没有进行任何手动操作的前提下,这个属性第一自动生成了getter和setter方法,同时生成了对应属性“_字段”的成员变量

  3. @property中内存管理的语义:

技术分享

技术分享

 4.关于使用点语法的原则:在初始化方法或者dealloc中,要用成员变量,不要用点语法(不知道为什么);在对象内部访问成员变量,写数据时使用点语法,这样有利于表达内存管理语义,读数据的时候尽量使用_成员变量.

5.在NSObject中,判断两个对象是否相等:调用方法isEqualTo,它的算法分三步:

  第一,判断两个对象的指针是否相同

  第二,若指针不相同,则判断两个类是否相同

  第三, 若类相同,就依次判断各个属性是否相同

这些判断完了之后,则判断哈希码是否相同

技术分享

读Effective Objective C总结(二)

标签:property   编译器   

原文地址:http://8365137.blog.51cto.com/8355137/1686927

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!