美文网首页iOS面试
键路径(keyPath)、键值编码(KVC)、键值观察(KVO)

键路径(keyPath)、键值编码(KVC)、键值观察(KVO)

作者: 轻皱眉头浅忧思 | 来源:发表于2016-08-10 11:54 被阅读193次

    键路径

    在一个给定的实体中,同一个属性的所有值具有相同的数据类型。

    键-值编码技术用于进行这样的查找—它是一种间接访问对象属性的机制。 - 键路径是一个由用点作分隔符的键组成的字符串,用于指定一个连接在一起的对象性质序列。第一个键的性质是由先前的性质决定的,接下来每个键的值也是相对于其前面的性质。

    键路径使您可以以独立于模型实现的方式指定相关对象的性质。通过键路径,您可以指定对象图中的一个任意深度的路径,使其指向相关对象的特定属性。

    键值编码KVC

    键值编码是一种间接访问对象的属性使用字符串来标识属性,而不是通过调用存取方法,直接或通过实例变量访问的机制,非对象类型的变量将被自动封装或者解封成对象,很多情况下会简化程序代码;

    KVC的缺点:一旦使用 KVC 你的编译器无法检查出错误,即不会对设置的键、键路径进行错误检查,且执行效率要低于合成存取器方法和自定的 setter 和 getter 方法。因为使用 KVC 键值编码,它必须先解析字符串,然后在设置或者访问对象的实例变量。

    键值观察KVO

    键值观察机制是一种能使得对象获取到其他对象属性变化的通知 ,极大的简化了代码。

    实现 KVO 键值观察模式,被观察的对象必须使用 KVC 键值编码来修 改它的实例变量,这样才能被观察者观察到。因此,KVC是KVO的基础。

    相关文章

      网友评论

        本文标题:键路径(keyPath)、键值编码(KVC)、键值观察(KVO)

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