0
我在控制器對象中有一堆插座需要傳遞另一個控制器。如果它只有2或3個值,我只是將它們作爲參數傳遞給委託方法(不是直接插入網點,而是通過將值複製到變量)將數據傳遞給委託
但是,這裏有不少。處理這個問題的最好方法是什麼?我看到三種方法:
我可以創建一個新的對象來保存所有這些屬性並通過它。
我可以在代理方法
[self.delegate didClickDone:self]
中傳遞控制器。這種方法的問題是:我是否允許從外部訪問另一個控制器的網點?我可以按照第二個選項,但將每個插座的值複製到一個屬性,並允許其他控制器通過訪問器方法訪問它們。
解決此問題的最佳方法是什麼?
那麼,對象基本上是混合的。它們只是控制器擁有的窗口中的數據。有些是字符串,一些數字和一些BOOL。我猜我應該創建一個名爲「Parameters」的新對象並將其傳遞給委託方法? 將參數對象傳遞給程序的模型也是明智的嗎?因爲這是其他控制器中的委託方法最終會做的事情。 – saad 2011-06-16 15:36:54
@Saad Abbasi我甚至會去:更新模型,然後不要將數據作爲對象或數組傳遞,並讓其他實例訪問模型!由於模型應該保持當前狀態。 – 2011-06-16 15:41:15
嘗試理解你在這裏所說的內容:而不是傳遞'parameter',我應該在控制器中擁有一個指向程序模型的屬性。一旦控制器從窗口獲得值,它應該直接通知模型,而不是通過其他控制器?我覺得我完全偏離了這裏,並不理解你的意思。準確地說,我有兩個控制器:'SheetController'和'AppController'。前者的目的是處理表單並將數據返回給調用表單的人員,我通過代表執行此操作。 – saad 2011-06-16 15:53:38