美文网首页
KVC底层原理 Key-value-coding

KVC底层原理 Key-value-coding

作者: 流浪猫121 | 来源:发表于2019-03-20 11:01 被阅读0次

    KVC Key-value-coding
    里面主要是以下2个方法,下面分别对2个方法进行剖析。

    -(id)valeueForKey:(NSString *)key

    image.png

    是否存在 get方法
    如果存在 直接调用
    首先会查找实例变量的get方法,如果查找到了,接直接调用赋值,否则,查找类似的实名变量,如果找到了就赋值,相似的概念,+(BOOL)accessInstanceVariablesDirectly 默认返回YES
    如果对应的访问器不存在 判断实例变量是否存在valueForUndefinedKey,如果不存在NSUndefineKeyException

    会查找同名的实例或相似的 根据同名变量是那个
    _key
    _isKey
    key
    isKey

    -(void)setValue:(id)value forKey:(NSString *)key

    image.png

    和get方法相同,首先会查找实例变量的set方法,如果查找到了,接直接调用赋值,否则,查找类似的实名变量,如果找到了就赋值,相似的概念
    _key
    _isKey
    key
    isKey

    相关文章

      网友评论

          本文标题:KVC底层原理 Key-value-coding

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