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"];
      
  • 相关阅读:
    session之验证码
    session之cookie封装终极版本
    临床知识库-临床路径管理
    import org.quartz.Job; 不存在
    ASP.NET DataGrid 导出EXCEL 中文变乱码
    Cannot find module '@/views/monitor/online/index'
    配置包导入
    配置log4j 以便查看mybatis操作数据库的过程
    解决中文乱码问题
    ORA 环境变量
  • 原文地址:https://www.cnblogs.com/tang910103/p/5061420.html
Copyright © 2011-2022 走看看