2015-03-03 65 views
2

我有一個模型,它包含一堆項目並在項目被修改時發送更新通知。在這種情況下,有兩個視圖控制器偵聽此修改通知以更新其狀態/(表格)視圖。模型 - 控制器 - 通訊

問題是,如果一個控制器修改一個項目,它也會收到更新通知並重新載入它的內容。但我不希望做出更改的控制器立即更新,因爲它會中斷控制器執行的更改動畫(因爲它知道發生了什麼變化)。

是否有一個很好的解決方案,只接收非特定控制器所做的更新?還是我在完全錯誤的道路上?

謝謝!

+0

@tetuje:如果是回答而不是評論,我會爲您的第一種方法投票... ;-) – geowar 2015-03-04 15:20:38

回答

2

你可以嘗試2種不同的方法:

  • 第一種是使用「對象」或「用戶信息」的信息,您可以添加到一個NSNotification對象,發送視圖控制器指針和反應上僅當對象或用戶信息與對通知作出反應的對象不同時才發送通知。

  • 第二種方法是,您可以在執行更改之前從NSNotificationCenter中刪除視圖控制器,然後再次添加它。

+0

謝謝!我通過爲模型提供上下文來採取第一種方法。上下文是通知的userInfo的一部分,我的控制器可以檢查它。 – JanApotheker 2015-03-06 09:38:10