【问题标题】:Key Value Observing in Cocoa TouchCocoa Touch 中的键值观察
【发布时间】:2011-05-02 18:33:11
【问题描述】:

我一直在阅读 Key Value Observing 并且我了解到 ViewController 会侦听模型中的更改以更新视图。略有不同:模型如何知道它自己的参数已更新?

例如,我的视图上有一个按钮可以更改模型的一个参数,另一个按钮可以更改另一个参数。如果其中任何一个发生变化,我需要更新音量。最好的方法是:1)在我的 ViewController 中的每个单独的“ButtonPressed”方法中调用模型的 UpdateVolume 方法,或者让模型对自身进行键值观察,并且每当它的任何参数发生变化时,调用 UpdateVolume?如果我实现更多参数,则后者似乎更方便,每个参数都由 ViewController 使用不同的方法更新。

谢谢, 约翰

【问题讨论】:

    标签: iphone cocoa-touch key-value-observing key-value-coding key-value


    【解决方案1】:

    让模型对自己进行观察听起来是错误的。它知道自己的一切,因此无需在其自身上使用 KVO 进行松散耦合。只需让每个按钮调用更新模型所需的任何公共模型 API。该模型将实现任何逻辑并产生结果,VC 会使用 KVO 监视该结果,并相应地更新其视图。它就像一个魅力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-29
      • 2010-10-07
      • 2012-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多