- KVC(Key Value Coding)
- 常见作用:给模型属性赋值
/**
IOS应用开发是遵循MVC设计模式的,Cocoa框架用Object Modeling的规则来规范一个Model的实现。
ObjectModeling有如下几个概念的规定:
Entity:表示持有数据的一个实体
Property实体中的成员,分为Attribute和:Relationship
Attribute:基本类型的成员,比如:数字、NSString。
Relationship:指向其它Entity的关系型成员,它又有to 1Relationship和to manyRelationship的区别。
AccessorMethod:getter,setter。
*/
- KVC是KeyValue Coding的简称,它是一种可以直接通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。
- 关键方法定义在:NSKeyValueCodingprotocol
//获取值
valueForKey:,传入NSString属性的名字。
valueForKeyPath:,传入NSString属性的路径,xx.xx形式。
valueForUndefinedKey它的默认实现是抛出异常,可以重写这个函数做错误处理。
//修改值
setValue:forKey:
setValue:forKeyPath:
setValue:forUndefinedKey:
setNilValueForKey: 当对非类对象属性设置nil时,调用,默认抛出异常。
//一对多关系成员的情况
mutableArrayValueForKey:有序一对多关系成员 NSArray
mutableSetValueForKey:无序一对多关系成员 NSSet