Effective Objective-C 2.0 学习笔记(2

2017-07-05  本文已影响0人  sharpdev

接口与 API设计

15 用前缀避免命名空间冲突

16 提供“全能初始化方法”

17 实现description方法

18 尽量使用不可变对象

19 使用清晰而协调的命名方式

20 为私有方法名加前缀

21 理解Objective-C错误模型

22 理解NSCopying协议

协议与分类

23 通过委托与数据源协议进行对象间通信

委托属性需定义成 weak, 因为两都并非拥有的并系, 不然会产生 retain circle. protocol 可以通过@optional 定义非强制实现的方法, 当调用时需要向对象发送 respondsToSelector:消息, 确定方法是否被实现了

24 将类的实现代码分散到便于管理的数个分类之中

25 总是为第三方类的分类名称加前缀

26 勿在分类中声明属性

27 使用class-continuation分类隐藏实现细节(就是 Extension)

28 通过协议提供匿名对象

本节总起来就是通过基于协议的多态特性, 定义 id<ProtocolType>类型的指针, 可以指向任何实现了协议的对象.

上一篇 下一篇

猜你喜欢

热点阅读