代理/通知/KVO 的区别

作者: iOS小孟和小梦 | 来源:发表于2016-04-17 01:15 被阅读347次

通知 NSNotification、通知中心 NSNotificationCenter
    ◦   任何对象之间都可以传递消息(一般在层级结构比较深又需要传值的情况)
  • 使用范围
    ▪ 1个对象可以发通知给多个对象
    ▪ 1个对象可以接受多个对象发出的通知
    ◦ 要求:必须得保证通知的名字在发出和监听时是一致的

KVO
    ◦   仅仅是能监听对象属性的改变(灵活度不如通知和代理)

代理模式
  • 使用范围
    ▪ 1个对象只能设置一个代理(假设这个对象只有1个代理属性)
    ▪ 1个对象能成为多个对象的代理

如何选择?
◦   代理比通知规范,非常适合多人开发以及代码维护
◦   如果要通知多个对象,就用通知

◦   建议使用代理多于通知,能使用代理尽量使用代理
◦   当层级结构非常深,难以拿到对应对象时使用通知

相关文章

  • OC 底层(KVC、KVO、Delegate、Category、

    目录 1.KVC2.KVO3.通知4.代理、委托、协议5.Block、KVO、通知、代理之间的区别6.分类 Cat...

  • iOS KVO

    要了解通知、KVO、代理的区别,合理利用。 [A]KVO是什么 KVO 是 Objective-C 对观察者设计模...

  • iOS 通知

    要了解通知、KVO、代理的区别,合理利用。 [A]通知是什么: 通知(NSNotification)是iOS的一种...

  • 代理/通知/KVO 的区别

    通知 NSNotification、通知中心 NSNotificationCenter 使用范围▪ 1个对象可以发...

  • 代理,通知,KVO的区别

    通知 NSNotification、通知中心 NSNotificationCenter 使用范围 KVO 代理模式...

  • KVC\KVO-代理-通知-整理中

    KVC\KVO-代理-通知

  • iOS--代理,通知,KVO的区别

    代理 Delegate 代理是一种设计模式 在iOS中以 @protocol (协议)形式实现; 传递方式 一对一...

  • 代理,通知,kvo

    代理:一般控件用的比较多,其实也可以用block实现,如果实现的接口比较多的话,建议用代理,如UITablevie...

  • KVO,代理,通知

    1、监听属性-监听模型属性的改变,只要你调用它的set方法他就会调用。 2、代理,是一对一,针对性强。可以限制一些...

  • KVO、通知NSNotification和代理的比较

    KVO/通知NSNotification/代理这三种方法主要是用来监听事件发生的 KVO 和 通知NSNotifi...

网友评论

    本文标题:代理/通知/KVO 的区别

    本文链接:https://www.haomeiwen.com/subject/mejolttx.html