2011-07-11 101 views
3

有誰知道從基本模型入手但不使用Core Data的好方法嗎?我有一個簡單的應用程序,不需要保存任何數據(目前),但我不認爲核心數據會對它有所幫助。iOS iPhone MVC基礎知識

我不想使用App Delegate來存儲數據,也不想將數據存儲在單個視圖中。我希望找到某種「過渡」類型的解決方案,以便我將來可以切換到Core Data。

我見過一些簡單的例子,但他們需要在特定的視圖控制器中存儲模型的一個實例。我打算有幾個觀點,所以我想找一個更好的方法。

回答

3

應用程序的數據模型可以像字典或字典數組一樣簡單,也可以是簡單的舊C字符數組。或者,更進一步,您可以創建一個自定義模型類,它不僅存儲數據,還知道如何根據您的應用程序對其進行操作。

每個控制器如何訪問模型是一個不同的問題。有些人喜歡使用單身(我沒有),以便他們可以在全球範圍內訪問它。 (IMO)更好的方法是在類似應用程序委託或根視圖控制器的對象中實例化模型,然後傳遞指向整個模型的指針或指向模型部分的指針以根據需要查看控制器。例如,地址簿應用程序可能僅將Person對象傳遞給地址詳細信息視圖控制器。

+0

到目前爲止,這些網址一直很有幫助:http://www.bit-101.com/blog/?p=1969#comment-88765和http://cocoawithlove.com/2008/11/singletons-appdelegates- and-top-level.html,但我仍然在尋找視圖控制器在訪問模型時相互搭配的最佳方式。 – gonzobrains

+0

進一步的部分是我現在感興趣的部分。 – gonzobrains

+0

然後你只需要:1)子類NSObject並添加你想要存儲的數據的屬性; 2)決定你想如何實例化和訪問你的模型。 (1)很簡單,我已經介紹了上面(2)的一些選項。考慮到數據模型是應用程序的屬性,並且應用程序委託通常提供專門化應用程序的方法,因此在應用程序委託中創建模型似乎是適當的。應用程序委託可以將它傳遞給它創建的第一個視圖控制器,依此類推。 – Caleb