0

我一直在阅读关键值观察,并且我得到ViewController侦听模型中的更改以更新视图。稍有不同:模型如何知道它自己的参数已更新?在可可触摸中观察的关键值

例如,我在视图上有一个按钮,用于更改模型的一个参数,另一个按钮用于更改另一个参数。如果任何一个改变,我需要更新音量。最好的方法是:1)在我的ViewController中的每个单独的“ButtonPressed”方法中调用模型的UpdateVolume方法,或让模型对其本身执行Key Value Observing,并且每当它的任何参数改变时,调用UpdateVolume?后者似乎更方便,如果我实现更多的参数,每个由ViewController w /不同的方法更新。

感谢, 约翰

回答

0

有模型做自我观察的声音是错误的。它知道所有关于它自己的事情,所以不需要使用KVO本身进行松散耦合。只需让每个按钮调用需要的公共模型API来更新模型。该模型将执行任何逻辑并产生结果,VC将使用KVO监视结果,并相应地更新其视图。它像一个魅力。