IT行业干货大全程序员iOS开发记录

KVC基础篇

2015-09-13  本文已影响249人  黄龙辉

键值编码(key-value coding)是一种间接更改对象状态的方式。通过传入的字符串(key)查找要更改的对象的状态。查找的规则是,先查找以字符串(key)命名的getter和setter方法。如果没有找到对应的方法,再查找key和_key的实例变量。

  1. KVC中基本调用的两个方法:
  1. 对于标量值,会自动进行装箱和拆箱。
  2. 使用键路径:
  1. 对数组进行操作,会对数组的每个元素调用valueForKey:
    NSArray *gradeArray = [self.studentModel valueForKeyPath:@"scoreArray.grade"];
  2. 快速运算
  1. 批量处理
  1. 可以覆写setNilValueForKey:,定义传递nil时的处理方式:
    - (void)setNilValueForKey:(NSString *)key{ if ([key isEqualToString:@"name"]) { name = @"未填"; }else{ [super setNilValueForKey:key]; }}

  2. 可以通过覆写setValue:forUndefinedKey:,处理未定义键的处理方式。

  3. nil和[NSNull null]。在批量处理时,若值为nil,就会返回[NSNull null]。使用NSLog输出时,nil为(null),[NSNull null]为<null>。

上一篇 下一篇

猜你喜欢

热点阅读