KVO与KVO的关系
技术笔记
这两个机制的目的都是为了 解耦合 ,它们时联系和相互独立的。这样说似乎有些说不通。我们具体看一看
它们是 (联系) 还是 (独立) 取决于我们要达到的目的:
目的一:
场景介绍:紧密联系
我们的银行账户有变动的时候,银行会给我们发短信通知,这时候就是我们账户先被改变了,然后我们得到了通知。
这就好比我们的KVO的工作机制:
我们在柜台上签了一份协议书,表示我们同意账户的改变的时候通知我(注册KVO)
账户改变我们得到通知(KVO回调)
这个时候改变账户的行为必须是KVC的setValue:ForKey;
否则我们不会得到通知(不走)(KVO回调)
目的二:
场景介绍:相互独立
当我们需要一个地方的值改变时,其他地方需要同步改变的时候,这个时候 值 本身没有改变,只是被传递了,这种场景下只使用KVO就可以完成了,同理情况KVC也有独立使用的场景,在这里不再赘述。