(1)Effective OC

来源:互联网 发布:kali mysql暴力破解 编辑:程序博客网 时间:2024/05/29 19:20

  代码写了有段时间了,想学习优化代码,于是遇到这本书(Effective Objective-C 2.0: 52 Specific Ways to Improve Your iOS and OS X Programs),接下来都是学习笔记了~好记性不如赖笔头嘛,虽然是英文书,但是还特么能接受~

ITEM 1:熟悉objective – c的根源

  • 栈中是定义,堆中是数据,栈中存的数据是指向堆空间的地址。说白了就是堆空间的门牌号。
  • OC是基于消息结构,并且是动态绑定,对象类型在运行时决定,并非编译时决定。运行时会决定什么代码将被调用。
  • 学习OC,要先了解一下C,尤其要弄明白内存管理和指针是咋回事。

ITEM 2:尽量少在.h中引入其他头文件

  • 在.h中引入其他头文件的时候,只是为了声明属性,实例变量等,那么你应该采用前向声明的(@class)形式,减少循环引用,相互依赖,降低耦合度,减少编译时间。编译器此时不需要知道这个头文件中都有什么,只需要告诉编译器,我有这个东西就可以了。在.m中import用到的头文件即可。
  • 有时候可能不能使用前向声明,如声明一个协议,定义一个delegate,使用@protocol xxx 可能会找不到该xxx的定义,此时你可以单独定义这个协议,然后在引用该协议的类中延展中声明这个delegate,在上面import .h 。总之一句话,.h中少引用能减少编译时间。
0 0
原创粉丝点击