zoukankan      html  css  js  c++  java
  • iOS 常用设计模式和机制之 KVC

    KVC 

      1  key Value Coding,键值编码,是一种间接访问实例变量的方法

      2  KVC 提供了一种使用字符串(key)而不是访问器方法,去访问一个对象实例变量的机制

      3  KVC 常用方法

      -(id) valueForKey:(NSString *)key;

      -(void) setValue:(id)value forKey:(NSString *)key;

      -(id) valueForKeyPath:(NSString *)keyPath;

      -(void) setValue:(id)value forKeyPath:(NSString *)keyPath;

      -(void) setValuesForKeysWithDictionary:(NSDictionary *)keyedValues;

      4 注意:当使用 KVC 时,如果 key 值和属性名不一样时,就会崩溃。

      解决崩溃方法:需要在 类中重写一下两个方法

      -(void) setValue:(id)value forUnderfinedKey:(NSString *)key{

    }

      -(id) valueForUndefinedKey:(NSString *)key{

    }

      5 KVC 实现机制

        KVC按顺序使用如下技术:

      (1)检查是否存在  getter 方法 -<key>或者setter方法-set<key>:的方法

      (2)如果没有上述方法,则检查是否存在名字为-_<key>、<key>的实例变量

      (3)如果仍然未找到,则调用 valueForUnderfinedKey: 和 setValue:forUndefinedKey:方法。这些方法的默认实现都是抛出异常,我们可以根据需要重写他们。

  • 相关阅读:
    基于FPGA的ARP协议实现
    Modelsim 仿真错误集锦
    基于FPGA的IIC驱动设计
    状态机跑飞的解决办法
    基于FPGA的检测时钟脉冲的高电平及低电平的中点标志位设计
    基于FPGA的UART实现
    基于FPGA的数字秒表设计
    Matlab的常用调试方法
    基于FPGA的花样流水灯
    **time_limited.sof文件
  • 原文地址:https://www.cnblogs.com/chenbowen/p/6030166.html
Copyright © 2011-2022 走看看