zoukankan      html  css  js  c++  java
  • KVC技巧二则

    说两个与KVC相关的技巧。

    1.KVC与字典

    有时候我们需要取出嵌套字典中的某个键的值。例如某个嵌套字典:

    NSDictionary *dict = @{@"subDict":@{@"subKey":@"aStr"}};

    需要取出subKey这个键的值。以前总是用valueForKey嵌套的语法来做,其实根本不用那么麻烦,直接利用valueForKeyPath方法就可以实现。代码如下:

    NSString *str = [dict valueForKeyPath:@"subDict.subKey"];
    

    2.KVC实现高阶消息传递

    有时候需要对数组中每个对象调用某一个方法后生成新的数组,我们可以利用KVC的高阶消息传递功能来实现。例如有下面这样一个数组:

    NSArray *originArr = @[@"octopress",@"nijino",@"saki"];

    我想将这个数组中的每一个元素首字母大写,然后生成新的数组,如果按照常规做法需要利用快速枚举对数组每一个元素进行操作,并且还要分配一个空数组来存储处理过的元素。

    而利用KVC的高阶消息传递,只需一句话就可以达到目的:

    NSArray *resultArr = [originArr valueForKey:@"capitalizedString"];
    

    这样一步就实现了需求。

    小结:

    KVC是Objective-C特有的语法现象,可以加以利用实现代码的简洁性和可维护性。

  • 相关阅读:
    C语言II|博客园04
    C语言!!!博客作业03
    C语言II博客作业02
    C语言II—作业01
    deppin系统安装electron步骤及问题
    deppin20.2 频繁卡死问题已解决
    那些实用的Nginx规则
    hibernate4升级5带来的一些参数变化
    java 后台获取文件上传的真实扩展名
    eclipse 卡顿的优化办法
  • 原文地址:https://www.cnblogs.com/yingkong1987/p/3292846.html
Copyright © 2011-2022 走看看