美文网首页
15.协议和分类

15.协议和分类

作者: 写代码写到人生巅峰 | 来源:发表于2017-05-08 16:22 被阅读0次

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

委托模式为对象提供了一套接口,使其可由此将相关事件告知其他对象。
将委托对象应该支持的接口定义成协议,把协议中可能要处理的时间定义成方法。
当某一对象要从另一个对象获取数据时,可以使用委托代理模式。这种情况下,该模式也成为“数据源协议”。
若有必要,可实现含有“位段“的结构体,将委托对象是否能响应相关协议方法这一信息缓存至其中。

2、把类的实现代码分散于便于管理的数个分类中

使用分类机制把类的实现代码划分成易于管理的小块
将应该视为私有的方法归入到名为Private的分类中,以隐藏细节

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

向第三方类中添加分类时,总应该给其名称加上你专用的前缀
向第三方类中添加分类时,总应该给其中的方法名加上你专用的前缀

4、不要再分类中声明属性

分类的目标在于扩展类的功能,而非数据封装。把数据封装所用的全部属性定义在主接口。
在“class—continuation分类”之外的其他分类中可以定义存取方法,但不要定义属性。

5、使用“class-continuation分类”隐藏实现细节

通过“class-continuation分类”向类中新增实例变量。
如果某属性在主接口声明为只读,而类的内部又要设置该属性,那么在“class-continuation分类“声明为可读写。
把私有方法的原型声明在“class-continuation分类“里面
如果使用不为人知的协议,则可于“class-continuation分类“中声明。

相关文章

  • 15.协议和分类

    1、通过委托与数据源协议进行对象间通信 委托模式为对象提供了一套接口,使其可由此将相关事件告知其他对象。将委托对象...

  • 协议和分类、

    Demo下载地址、[https://github.com/wnkpzzz/ZCZTestDemo-master] ...

  • 协议和分类

    通过委托与数据源协议进行对象间通信 委托模式的主旨是:定义一套接口,某对象若想接受另外一个对象的委托,则遵守此接口...

  • ☆技术问答集锦(四)

    2 TCP 与 UDP 网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议;传输层:TCP协...

  • 关于协议和分类中的@property

    关于协议和分类中的@property 在@protocol中使用@property只会生成getter 和sett...

  • iOS Protocol、Category中声明属性

    之前一直有一个误区,认为协议和分类中不能用@property 形式声明属性,现在做一下总结: iOS中协议中和分类...

  • 用 // 代替 http:// 有什么好处(自适应https)

    // 缺省协议 //缺省协议的使用,代表资源访问的协议和当前页面保持一致,如果当前页面是http ,采用http协...

  • 12.socket编程 - TCP

    socket抽象层位于应用层和传输层之间,是对传输层TCP协议和UDP协议的封装,可以让我们无需关心复杂的TCP协...

  • LeetCode-15 三数之和

    题目:15. 三数之和 难度:中等 分类:数组 解决方案:双指针 今天我们学习第15题三数之和,这是一道中等题。像...

  • Effective Objective-C 2.0 读书笔记四

    第四章 协议与分类 协议和分类都是OC中非常好的特性,善用这些功能会大大增加我们代码的效率。 23. 通过委托与数...

网友评论

      本文标题:15.协议和分类

      本文链接:https://www.haomeiwen.com/subject/pmzmtxtx.html