美文网首页
KVC / KVO/ Delegate/ Notificat

KVC / KVO/ Delegate/ Notificat

作者: 奕十八 | 来源:发表于2016-08-25 19:30 被阅读31次

    ldajfnng

    KVO

    • 一对多,观察者模式,键值观察机制,它提供来观察某一属性变化的方法,极大的简化了代码。

    KVC

    • 键值编码,一个对象在调用setValue方法的时候,首先会检查有没有key多对应的set方法,存在就调用set方法。如果set方法不存在,就查找_key的成员属性是否存在,存在就直接赋值,如果找不到_key,就看有没有相同名称不带下划线的key,�有就赋值,如果没有就调用:setValue : forUndefinedKey

    Delegate

    • 通常发送者与接受者的关系是一对一的关系
    • 代理的目的是改变或传递控制链。允许一个类在某些特定时刻通知到其他类,而不需要获得那些类到指针
    • 可以减少框架到复杂度。delegate机制使得接收者可以改变发送者的行为。

    Notification

    • 观察值模式,通常发送者和接收者是间接的多对多的关系,接受者并不能反过来影响发送者的的行为。

    区别:

    • delegate的效率高于NSNotification
    • 如果两个模块之间联系不是很紧密,就用NSNotification传值,例如多线程之间传值就用通知
    • delegate只是一种简单的回调机制,且主要在一个模块中。

    相关文章

      网友评论

          本文标题:KVC / KVO/ Delegate/ Notificat

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