扩展
一般扩展做什么??
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 (观察者和 回调方法)
网友评论