三者都可以实现控制器之间的传值,但他们之间的侧重点不同。
一、NSNotification和kvo
同:1、两者的实现原理都是观察者模式,都用于监听操作。
2、都能实现一对多的操作。
异:1、KVO只能用于监听对象属性的变化。
2、NSNotification的发送监听的操作我们可以控制,kvo者由系统控制。
3、KVO可以记录变化新旧值。
二、NSNotification和Delegate
同:可以实现控制器之间的传值
异:1、NSNotification可以实现一对多,代理则是一对一。
2、代理可以把结果返回,NSNotification只是单向操作,不关心返回。
3、NSNotification的耦合度更低,跨域通信更广。
本文探讨了NSNotification、KVO及Delegate三种模式在iOS开发中实现控制器间传递值的应用场景与区别。NSNotification与KVO基于观察者模式,适用于监听操作,而Delegate模式则侧重于一对一的交互,并能返回结果。
1399

被折叠的 条评论
为什么被折叠?



