KVC总结

KVC的全称是Key-Value Coding,俗称“键值编码”,可以通过一个key来访问某个属性

常见的API有

  • (void)setValue:(id)value forKeyPath:(NSString *)keyPath;
  • (void)setValue:(id)value forKey:(NSString *)key;
  • (id)valueForKeyPath:(NSString *)keyPath;
  • (id)valueForKey:(NSString *)key;

keyPath的特殊之处 “person.name”,功能比setValue:forKey:强大

setValue:forKey:的原理

accessInstanceVariablesDirectly方法的默认返回值是YES

KVC总结_第1张图片
image.png

valueForKey:的原理

KVC总结_第2张图片
image.png

你可能感兴趣的:(KVC总结)