2010-08-01 77 views
1

我的問題是一個設計問題,它在過去幾天一直瘋狂。我是可可觸摸發展的新手。可可觸摸連接和數據設計模式

我有具有UINavigarion控制器和3次的應用程序。我需要保持與WCF服務的通信並將數據存儲在應用程序端。

如何創建我的模型(MVC),使數據可用於所有控制器?

我開始做的是處理所有的存儲和網絡電話一個單身,但我讀通,這是一個壞主意的線程。我也考慮過把代碼放在appDelegate中,但人們說這也是一個壞主意。

概念怎麼會ü設計模型,並與控制器進行通信?

任何幫助,非常感謝。

回答

2

您會得到不同的建議,因爲意見在最佳使用方法上有所不同。如您所述,爲了處理數據模型,有兩種主要的設計模式:依賴注入和單例。

依賴注入依賴於從視圖控制器傳遞數據模型對象根據需要,以查看控制器。 Marcus Zarra(我推薦的Core Data: Apple's API for Persisting Data on Mac OS X的作者)寫了a good article explaining Dependency Injection。大多數Apple文檔建議您使用依賴注入設計。

我喜歡Singleton模式,但是對於新手來說這是非常非常非常危險的。 Singleton模式很容易出錯,大多數灰熊已經放棄了它,只是建議新手永遠不要使用它。

的單例模式具有增加模塊性和應用的靈活性的優點。但是,它要求您在開始編碼數據模型和UI之前已經確定了數據模型將執行的操作。它需要更多的工作才能獲得正確的結果,而不像依賴注入那樣寬容。你必須使用更有紀律的單身人士。

對於具有三個層次視圖的簡單應用程序,依賴注入是最簡單和最乾淨的設計。你不需要單身人士的靈活性,單身人士只會增加不必要的複雜性。包含由Xcode提供的核心數據的基於導航的模板將爲您提供50%的應用程序啓動。只需添加第二和第三層視圖,就完成了。

+0

感謝您的幫助。我花了整整一天的時間研究依賴注入。這可能是要走的路 – curiousMo 2010-08-01 22:59:27