0

我一直在閱讀關鍵值觀察,並且我得到ViewController偵聽模型中的更改以更新視圖。稍有不同:模型如何知道它自己的參數已更新?在可可觸摸中觀察的關鍵值

例如,我在視圖上有一個按鈕,用於更改模型的一個參數,另一個按鈕用於更改另一個參數。如果任何一個改變,我需要更新音量。最好的方法是:1)在我的ViewController中的每個單獨的「ButtonPressed」方法中調用模型的UpdateVolume方法,或讓模型對其本身執行Key Value Observing,並且每當它的任何參數改變時,調用UpdateVolume?後者似乎更方便,如果我實現更多的參數,每個由ViewController w /不同的方法更新。

感謝, 約翰

回答

0

有模型做自我觀察的聲音是錯誤的。它知道所有關於它自己的事情,所以不需要使用KVO本身進行鬆散耦合。只需讓每個按鈕調用需要的公共模型API來更新模型。該模型將執行任何邏輯併產生結果,VC將使用KVO監視結果,並相應地更新其視圖。它像一個魅力。