• 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"];
      
  • 相关阅读:
    世界本就很简单-云计算
    世界本就很简单-集群
    Linux虚拟机连接网络
    定时任务删除日志文件
    fiddler篡改请求数据
    Jmeter-线程日志查看
    Jmeter-JDBC Request
    Jmeter-查看结果树
    Jmeter-聚合报告
    Jmeter-参数化
  • 原文地址:https://www.cnblogs.com/tang910103/p/5061420.html
Copyright © 2020-2023  润新知