OC语法 KVC

作者: 啊俊吖 | 来源:发表于2019-07-04 20:08 被阅读0次
    • Key-Value-Coding 键值编码

    可以通过一个Key来访问摸个属性。

    常见的API:

    1. setValue:forKeyPath:
    2. setValue:forKey:
    3. valueForKeyPath:
    4. valueForKey:
    • 实现原理
      • setValue:forKey:

        • 通过key 按照 setKey: 、_setKey:的顺序查找方法。
          • 未查到,询问是否可以直接访问成员变量accessInstanceVariablesDirectly:默认返回YES
            • 返回YES。 按照 setKey: 、_setKey:的顺序查找方法修改成员变量。
            • 返回NO。 调用setValue:forUndefinedKey:方法报错。
        • 查到后直接调用。
      • valueForKey:

        • 通过key 按照 getKey: 、key: 、_Key: 、_isKey:的顺序查找方法。
          • 未查到,询问是否可以直接访问成员变量accessInstanceVariablesDirectly:默认返回YES
            • 返回YES。 按照 getKey: 、key: 、_Key: 、_isKey:的顺序查找方法取值。
            • 返回NO。 调用setValue:forUndefinedKey:方法报错。
        • 查到后直接调用。

    相关文章

      网友评论

        本文标题:OC语法 KVC

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