三者都可以实现控制器之间的传值,但他们之间的侧重点不同。
一、NSNotification和kvo
同:1、两者的实现原理都是观察者模式,都用于监听操作。
2、都能实现一对多的操作。
异:1、KVO只能用于监听对象属性的变化。
2、NSNotification的发送监听的操作我们可以控制,kvo者由系统控制。
3、KVO可以记录变化新旧值。
二、NSNotification和Delegate
同:可以实现控制器之间的传值
异:1、NSNotification可以实现一对多,代理则是一对一。
2、代理可以把结果返回,NSNotification只是单向操作,不关心返回。
3、NSNotification的耦合度更低,跨域通信更广。