KVC与KVO的用处
在刚刚学习KVC时,我感觉这个东西非常奇怪:它完全可以用"."操作符替代,而且"."更加简单方便。为什么还会有这样一个东西呢?
说起来,KVC的作用还真不大,但在特定的情境下,它还是有一些用处的,我现在发现它的用处主要有两个方面。
一,它可以动态地访问特性。
这句话不好理解,举个例子吧。现在有许多字母,我们要统计某个字母有没有出现。这些字母被存储在一个NSArray里,遍历Array,当遇到"a"这个字母时,就将一个名为"a"的属性设为@"yes",即:
[self removeObserver:self forKeyPath:@"array"];如果不这样的话,在array改变时,就会报错。
不过,即使有这样讨厌的地方,KVO仍然不失为一个有用的工具。
总体来看,我觉得KVC的作用仍然不太大,基本上属于食之无味,弃之可惜的鸡肋。