2015-10-21 iOS开发课程培训总结(九)

         今天学习的内容是KVC(KeyValueCoding )键值对编码

     键值对编码通常针对于对象去使用 ,有四种方法

        1valueForKey

        2setValue: ForKey:

        3valueForKeyPath

        4setValue: ForKeyPath:


     复习三种赋值方法:

      1、对象引用赋值

    person.name = @"jack";

    

      2、通过中辍符的形式调用对象方法

    [person setName:@"jack"];

    

      3、KVC 写法:通过找到对象的属性的键,设置键的值

    setValue为你要设置类属性的值,forKey为你要设置的类属性的名称

    [person setValue:@"jack" forKey:@"name"];

      KVC写法:获取对属性键的值

    NSLog( @"person name is %@", [person valueForKey:@"name"] );


              疑问:1、既然有更简单的方法,为什么需要用KVC这种相对来说很多字母的方法呢?

    

      答:KVC写法:优点为安全机制完善,通过Key去查找Value的形式有助于在后期开发的设计模式上有很大的帮助。


      KVC 也可以用于一般的系统的对象,如字典,数组

    NSDictionary *dict = @{@"name" : @"rose"};

    

    NSLog(@"dict name value is :%@", [dict valueForKey:@"name"] );

      valueForKeyPath , setValue: ForKeyPath: 键路径

      通常是指通过初始的键找到键下面的相关的键,一般的形式是 xxx.yyy


      利用KVC的快速数学运算计算(在利用valueForKeyPath(按键路径)时会使用)



       ------针对于集合使用------

      @sum:求和   @min:求最小值    @max:求最大值     @avg:求平均

      使用形式:valueForKeyPath:@"集合.@**.属性"

      @count:求个数    使用形式:valueForKeyPath:@"集合.@count"


      //unrecognized selector sent 为无法识别对象方法或者类方法












    

 


你可能感兴趣的:(2015-10-21 iOS开发课程培训总结(九))