(1)Effective OC

  代码写了有段时间了,想学习优化代码,于是遇到这本书(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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值