键路径(KeyPath)、键值编码(KVC)、键值观察(KVO)

键路径:在一个给定的实体中,同一属性具有相同的数据类型

KVC:通过字符串标识属性来间接访问对象的属性的方法如:

[world setValue:@"NEW" forKey:@"name"];

KVC通过key找到value的原理:首先会查找变量的setter和getter方法,如果没有找到,就会接着找_key和key,如果还是没有找到的话,就会报错。

KVO:是一种能使一个对象能够获得其他对象的属性发生变化的机制KVO的实现:

1、注册观察者 [对象名  下面的方法]

- (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void*)context

2、接收观察者 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {

//通过change进行相应的赋值

}

3、移除观察者 [self  下面的方法]

- (void)removeObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath context:(void *)context

你可能感兴趣的:(键路径(KeyPath)、键值编码(KVC)、键值观察(KVO))