首页 > 其他 > 详细

Obejctiv-c 里面KVC 和 KVO的实现步骤,和有关方法

时间:2015-12-20 19:01:08      阅读:143      评论:0      收藏:0      [点我收藏+]
KVC
访问属性的方法: 调用读方法和写方法 点语法 KVC(Key Value Coding) 关键方法与步骤 // 用KVC设置对象属性值 // 先找指定属性的写方法 // 如果没找到则继续找 _属性名 的成员变量 // 如果没找到则继续找 属性名 的成员变量 // 如果没找到则调用 setValue:forUndefinedKey 方法 [object setValue:value forKey:key]; [object setValue:value forKeyPath:keyPath]; [object setValuesForKeysWithDictionary:keyValues]; // 用KVC读取对象属性值 // 先找指定属性的读方法 // 如果没找到则继续找 _属性名 的成员变量 // 如果没找到则继续找 属性名 的成员变量 // 如果没有找到则调用 valueforUndefinedKey: 方法 id value = [object valueForKey:key]; id value = [object valueForKeyPath:keyPath]; // 需重写(默认是抛出异常) - (void)setValue:(id)value forUndefinedKey:(NSString *)key; - (id)valueForUndefinedKey:(NSString *)key; - (void)setNilValueForKey:(NSString *)key
KVO

通知模式   在一个复杂的,有状态的系统中,当一个对象的状态发生改变,如何通知系统,并对状态改变做出相应的行为是必需考虑的一个问题,在iOS中为这类问题提供了4种解决方法:   Delegates:代理   Callback:回调   KVO(Key-Value Observing):键值观察   NSNotifiactaion和NSNotificationCenter:通知中心 关键方法与步骤 // 先添加观察者监听指定属性 [object addObserver:object forKeyPath:@"name" options:NSKeyValueObservingOptionNew context:nil]; // 重写观察者的observeValueForKeyPath方法 // NSKeyValueObservingOptionNew 返回新值 // NSKeyValueObservingOptionOld 返回旧值 // NSKeyValueObservingOptionInitial 一旦注册就会调用一次。 // NSKeyValueObservingOptionPrior 在值改变之前调用一次,在值改变之后再调用一次 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context; // 移除观察者 [object removeObserver:object forKeyPath:@"name"];
  

Obejctiv-c 里面KVC 和 KVO的实现步骤,和有关方法

原文:http://www.cnblogs.com/tang910103/p/5061420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!