美文网首页
代理,通知,KVO的区别

代理,通知,KVO的区别

作者: 就算我心狂野 | 来源:发表于2016-05-08 21:38 被阅读100次

    通知 NSNotification、通知中心 NSNotificationCenter

    ◦ 任何对象之间都可以传递消息(一般在层级结构比较深又需要传值的情况)
    

    使用范围

      ▪ 1个对象可以发通知给多个对象 
      ▪ 1个对象可以接受多个对象发出的通知
       ◦ 要求:必须得保证通知的名字在发出和监听时是一致的
    

    KVO

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

    代理模式
    使用范围

    ▪ 1个对象只能设置一个代理(假设这个对象只有1个代理属性) 
    ▪ 1个对象能成为多个对象的代理
    

    如何选择?

    ◦ 代理比通知规范,非常适合多人开发以及代码维护
    ◦ 如果要通知多个对象,就用通知
    ◦ 建议使用代理多于通知,能使用代理尽量使用代理
    ◦ 当层级结构非常深,难以拿到对应对象时使用通知
    

    转载/iOS小孟和小梦(简书作者)原文链接:http://www.jianshu.com/p/ad94792b3c00

    相关文章

      网友评论

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

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