遵循各種Objective-C編程指南中強調的MVC模式,當我使用帶有控制器的模型時,我應該將控制器設置爲給定模型的delegate
。現在我有一個巨大的數據對象,創建起來非常昂貴,並且有幾個控制器需要使用這個數據對象。只要delegate
屬性設置爲正確的控制器,Data對象對於該控制器就會正常工作。有沒有辦法在這些控制器之間共享這個模型?如何在一組代表中共享數據對象?
我已經頭腦風暴了一段時間,但沒有想到任何特別好的解決方案。我已經拿出
- 使用通知中心有幾件事情(但它似乎昂貴的設立只是爲這個特定的情況下,這樣的關係)
- 使數據對象的每個方法採取
delegate
參數:這是我目前使用的現在,但它是笨重且達到極限
編輯
感謝誰已經使用一個NSArray建議我的人。我想我忘了包括這個subtlty:
對於我的情況說,其中一個代表A
,想要通過使用其特定方法之一查詢數據對象。如果Data對象的delegate
字段設置爲A
,結果將是正確的。但根據我的理解,使用數組並在每個委託上調用方法不會給我我想要的答案。
事實上,因爲我的數據對象無法知道哪個委託調用它,即使它知道一切應該與
任何思想相關聯的代表不能給予回覆正確的結果在這?