2013-02-23 77 views
0

我有一個新的iPad應用程序,它是數據驅動的(讀取,刪除,創建,更新),並且需要安裝在應用程序上的iPad設備上的數據持久性。該應用程序大約有10個表格;這10張表格在某些方面是相關的(一對多,多對多,獨立)。我是iPad的數據驅動應用程序的新手。選擇iPad應用程序的數據驅動方法

我不知道我是否應該遵循核心數據方法或SQLite方法。哪種方法更好,面向現實?請指教。非常感謝你。

回答

2

我的建議是嘗試兩個;勾畫出你的應用程序的兩個簡單版本,每個實現一個。當然Core Data使用SQLite作爲後臺存儲,但它遠不止於此。在我看來,它是一個非常複雜,笨拙的野獸,但它是關於建模和持久化具有屬性的對象,當你刪除一個關係中涉及的對象時,它可以有很大的一致性,並且NSFetchedResultsController對於填充一個UITableView以一種內存有效的方式。使用SQLite,它只是一個數據庫,就是這樣;你必須做所有的工作,但是Objective-C有很好的前端,你完全可以控制,而不必在Core Data中以奇怪的方式做所有事情。

有演示了一個微小的核心數據的應用程序我的書的短節,即使是微小的,你可以看到我花了很多時間敲我的頭靠在的處事核心數據的特殊的方式在牆上:

http://www.apeth.com/iOSBook/ch36.html#_core_data

前一節具有幾行示出它是多麼簡單從SQLite數據庫與一個不錯Objective-C的前端提取數據:

http://www.apeth.com/iOSBook/ch36.html#_sqlite

我建議您在對自己做出承諾之前閱讀一本關於核心數據的書。有幾個好的。我並不是說它很糟糕,但它根本不是初學者的技術,你真的需要知道你在做什麼。

0

在我看來,你和Core Data在正確的軌道上,你需要問自己的是你的數據如何被用來對付每種方法的好處。核心數據可以讓你使用像NSDictionaries這樣的數據類型來更新和寫入數據,這些數據類型不需要任何外部技術來處理和寫入像SQLite那樣的數據。 SQLite的確可以工作,並且可以按照你想要的方式工作,但在我看來,使用第三方包裝只是實現已經本地化的一個步驟。

相關問題