zoukankan      html  css  js  c++  java
  • Obejctiv-c 里面KVC 和 KVO的实现步骤,和有关方法

    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"];
      
  • 相关阅读:
    我的有道难题算法-双倍超立方数
    终于获取了SharePoint.OpenDocument对象打开的Word对象
    Eclipse下的项目管理插件介绍
    初识 sqlite 与 content provider 学习笔记
    android 官方文档中的一些错误收集
    android TraceView (图形化性能测试工具)使用入门笔记
    Texttospeech 入门与进阶学习笔记(android)
    Intent进阶 和 Intentfilter 学习笔记
    android UI设计属性中英对照表(未修订)
    android学习笔记7天打造一个简易网络Mp3播放器
  • 原文地址:https://www.cnblogs.com/tang910103/p/5061420.html
Copyright © 2011-2022 走看看