技术
- 闭包Closures::函数和对周围上下文的引用的组合
- 委托Delegation:一种模式,使一个类能够将某些操作的责任委托给另一个类的实例
- NotificationCenter:一种通知发送机制,可以向注册的观察者广播信息
- KVO:(Key-Value Observing),是Objective-C和Swift中可用的观察程序状态变化的技术之一
Delegation
我之前写过一篇关于委托的文章,其中表明委托是在两个松散耦合的对象之间传递信息的好方法。
##优点
所有符合协议的对象都必须实现这些方法
易于理解程序流程
一个对象可以定义多个协议,每个协议都有不同的委托
可以使用合适的协议方法从视图控制器传递值
委托需要连接为“弱”以确保没有内存泄漏
缺点
大量样板代码!
在同一个对象的同一个协议上有多个委托是很棘手的
如果同一个对象有多个委托,你怎么知道调用的是哪一个?
通知中心
优点
易于实现,只需几行代码
很容易让多个对象对通知做出反应
字典