扩展 - 代理 - 通知

扩展

一般扩展做什么??

1、声明私有属性
2、声明私有方法
3、声明私有成员变量

扩展特点

编译时决议
只以声明的形式存在 多数在宿主类的 .m 文件
不能为系统添加扩展

代理 Delegate

特点:

代理是一种设计模式 传递方式 一对一

代理工作流程:

屏幕快照 2018-11-14 下午5.08.03.png

代理和委托方是以什么形式存在?

一般声明为 weak 以规避循环引用

通知 NSNotification

特点:

以观察者模式来实现的 用于跨层传递消息的机制
一对多

如何实现通知机制??

屏幕快照 2018-11-14 下午5.14.42.png

大致实现思路:
首先有一个通知中心系统类 里面维护一个map表 或者字典
key -> 对应监听名称
observer -> observer_list (观察者和 回调方法)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,906评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,031评论 8 265
  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 9,188评论 0 14
  • 感觉生活很快乐轻松,比去年在才智爷爷他们的相处。 无法理解老年人,但是不得不这样生活,有时感觉生活是幸福无比的,有...
    周萧阅读 1,337评论 0 0
  • 《杠杠阅读术》一书中,日本学者本田直之认为,从大量的书中找出最合适自己的读物,把阅读它们当成投资,有策略地实行,就...
    Harley的未来阅读 3,821评论 2 2

友情链接更多精彩内容