NSNotification与KVO的区别
2017-03-02 15:02:30 0 举报
NSNotification和KVO都是观察者模式的实现方式,但它们之间有一些区别。NSNotification是基于事件的,它需要在发送通知时指定一个名称,然后在接收通知的地方注册该名称。当发送通知时,所有注册了该名称的观察者都会收到通知。而KVO是基于属性的,它需要通过重写属性的setter和getter方法来实现观察者模式。当属性值发生变化时,KVO会自动通知观察者。此外,NSNotification是异步的,而KVO是同步的。总之,NSNotification适用于跨类的通知传递,而KVO适用于属性值变化的通知传递。
作者其他创作
大纲/内容
NSNotification的特点,就是需要被观察者先主动发出通知,然后观察者注册监听后再来进行响应,比KVO多了发送通知的一步,但是其优点是不局限于属性的变化,还可以对多种多样的状态变化进行监听,监听范围广,使用也更灵活
0 条评论
下一页