KVO:提供一种机制,当指定的对象的属性被修改后,则对象就会接收到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO 就会自动通知响应的观察者了。
使用方法:系统框架已经支持KVO。1.注册,指定被观察者的属性;2.实现回调方法;3.移除观察
KVC:是一种可以直接通过字符串的名字(key)来访问类属性(实例变量)的机制。而不是通过调用 setter,getter 方法来访问。
使用方法:
获取值:
valueForKey:传入 NSString 属性的名字
valueForKeyPath:传入NSString 属性的路径,xx.xx 形式。
修改值:
setValue:forKey;
setValue:foreKeyPath;
setValue:forUndefinedKey;
一对多关系成员的情况:
mutableArrayValueForKey:有序一对多关系成员 NSArray
mutableSetValueForKey:无序一对多关系成员 NSSet