2012-03-28 100 views
0

我計劃製作一個iPhone應用程序,其中存儲待辦事項列表。 什麼是在這種情況下存儲數據的最佳方法,SQLite或核心數據。核心數據與SQLite

回答

1

這裏需要注意的一點是,由於Core Data在其存儲層中使用SQLite,因此仍然有一個標準的SQLite系統庫可供使用。

核心數據具有一些顯着的優點。 Apple提供的開發工具允許開發人員快速佈置他們的數據需求和關係。這可以縮短開發時間並節省代碼。核心數據包也很好地集成到當前的Mac OS X系統中,使數據可以輕鬆地在平臺之間來回移動。

我個人更喜歡在我的應用程序中使用Core數據,因爲它負責處理對象和關係的完整性和一致性。如果您是核心數據的新手,本教程可幫助您對其工作方式有一個基本的瞭解。 http://www.raywenderlich.com/934/core-data-tutorial-getting-started

對於Core Data提供的所有優點,仍然存在直接使用SQLite有意義的情況。最明顯的考慮是如果您的開發需求超出Apple平臺。與核心數據不同,SQLite庫幾乎可在任何平臺上使用,允許在任何平臺上的幾乎任何位置移動和訪問數據文件。核心數據也使用與SQLite不同的存儲和檢索模型。如果您的應用程序特別適合關係模型,那麼直接SQL查詢訪問數據存儲層可能會有好處。

-2

SQLLite應該用於這種類型的數據,因爲在某些時候您可能希望能夠查詢它(即,在3月27日向我顯示所有待辦事項)。我認爲Core-data是用於初始化類型設置(用戶首選項)。

+3

NSUserDefaults用於設置。核心數據與SQLite具有基本相同的用例。事實上,核心數據使用SQLite作爲後端存儲,並提供beeing的額外價值,可以爲您的實體使用模型設計器。 – 2012-03-28 05:32:00