说两个与KVC相关的技巧。
- KVC与字典
有时候我们需要取出嵌套字典中的某个键的值。例如某个嵌套字典:
1
| |
需要取出 subKey 这个键的值。以前总是用 valueForKey 嵌套的语法来做,其实根本不用那么麻烦,直接利用 valueForKeyPath 方法就可以实现。代码如下:
1
| |
- KVC实现高阶消息传递
有时候需要对数组中每个对象调用某一个方法后生成新的数组,我们可以利用KVC的高阶消息传递功能来实现。例如有下面这样一个数组:
1
| |
我想将这个数组中的每一个元素首字母大写,然后生成新的数组,如果按照常规做法需要利用快速枚举对数组每一个元素进行操作,并且还要分配一个空数组来存储处理过的元素。
而利用KVC的高阶消息传递,只需一句话就可以达到目的:
1
| |
这样一步就实现了需求。
小结:
KVC是Objective-C特有的语法现象,可以加以利用实现代码的简洁性和可维护性。