2012-07-06 36 views
0

我目前正在開發一個旅遊應用程序,它將存儲和顯示有關不同景點和雕塑的信息,並且我正在研究用於存儲信息的不同選項。存儲運行時產生的大量信息

  • 的所有內容都將在運行之前生成,什麼都不會 在運行時產生的。
  • 我在找一個方便的方式 寫/生成它,如從 電子表格中獲取信息。因此,我正在考慮XMLCSVsqlite的核心數據,或歸檔
  • 要被存儲將定製 NSObject的的子類,諸如旅遊類(NSObject的子類), 與實例變量如風景名勝的一個NSArray(NSObject的子類),以查看,以及* tourName(內容的NSString)。我目前在我的主視圖控制器的 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil方法中定義了內容,但我確定這不是最有效的方法。

歡迎任何建議,以及它的優點和缺點。 此外,核心數據似乎是最好的選擇,但在我看來,數據只能在運行時以編程方式生成。或者有什麼辦法可以在運行時之前生成Core-Data中的實體實例?

謝謝。

+1

核心數據絕對是最好的選擇,然後你的模型對象可以直接成爲'NSManagedObject'的子類。只需編寫一個小幫手程序,它可以獲取所有源代碼並將其編譯到核心數據種子中,並在源代碼發生更改時運行該程序。那麼你只需要在應用程序中實際包含核心數據文件,並且不需要在設備上生成任何內容。 – 2012-07-06 22:33:06

+0

謝謝。你的建議沿着我正在考慮的路線走。你能給我一些方便的方法來存儲由Core-Data編譯的源代碼的例子嗎? (即:csv,xml,文本文件,sqlite?) – ratsimihah 2012-07-06 22:36:40

回答

0

您可以輕鬆地在Mac上生成CoreData數據庫。您可以編寫本機應用程序來自己管理數據庫,或將原始數據保存爲任何其他格式(CSV,JSON等)並將其轉換爲CoreData。

無論如何,您只需創建CoreData數據庫,並將其與您的應用程序捆綁包一起使用。當您在應用程序中創建CoreData堆棧時,在持久存儲上設置只讀選項,您應該很好。