读Effective Objective C总结(二)

发布时间:2020-09-15 17:42:39 作者:Kris_Chain
来源:网络 阅读:229
  1. OC编译器的特性:在声明成员变量时,编译器会产生一个硬编码的偏移量,它表示变量距离存放该对象的内存区域的起始地址的长度。OC把这个偏移量作为类对象的一个特殊变量,在runtime时期查找,就总可以生成正确的偏移量.

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

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

读Effective Objective C总结(二)

读Effective Objective C总结(二)

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

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

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

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

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

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

读Effective Objective C总结(二)

推荐阅读:
  1. Effective Java —— 枚举篇 精华总结
  2. Effective Java —— 并发篇 精华总结

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

编译器 property ct

上一篇:Java 抽象类与接口的对比

下一篇:JavaWeb项目Servlet无法访问问题解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》