美文网首页iOS
iOS的KVC原理探究

iOS的KVC原理探究

作者: 踏云小子 | 来源:发表于2018-03-07 11:42 被阅读9次

设置键值

- (void)setValue:(id)value forKey:(NSString *)key;
  1. 搜索setter方法,如果找到,直接赋值
  2. 通过accessInstanceVariablesDirectly方法
    i. 返回YES,则按_<key>,_<isKey>,<key>,<isKey>的顺序搜索成员名
    ii. 返回NO,则执行setValue:forUndefinedKey

根据键获取值

- (id)valueForKey:(NSString *)key;
  1. 根据getter方法,如果有,直接拿到值
  2. 通过accessInstanceVariablesDirectly方法
    i. 返回YES,则按_<key>,_<isKey>,<key>,<isKey>的顺序搜索成员名
    ii. 返回NO,则执行valueForUndefinedKey

相关文章

网友评论

    本文标题:iOS的KVC原理探究

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