2009-11-29 85 views
3

我正在試驗Core Data,plist文件,平面文件和sqlite。 我似乎無法區分小數據集的效率。根據表面上的差異(即API),我知道不同之處。可可觸摸數據持久性

但是我想得到的是哪種持久性模型最適合哪種情況。

+1

這完全取決於你的目標。更好的問題是,「我的應用程序需要[列出您的要求],最好的方法是什麼?」 – 2009-11-29 23:16:25

+1

對於小數據集的效率可能主要是關於「什麼能幫助我最快完成應用程序?」 – 2009-11-30 02:01:45

回答

4

對於小數據集,如果您需要讀寫功能,您應該使用NSUserDefaults - 如果爲您提供鍵值存儲和檢索的功能,而沒有太多的麻煩。

如果您需要只讀訪問權限,plist文件是一個可行的選項,因爲它保留了鍵值概念的抽象,並提供了一個可訪問的API來處理。

如果您需要與關鍵值不同的持久性模型,建議使用平面文件,否則就意味着重新發明輪子。

Sqlite將適合您的數據以強大的關係方式組織而不是鍵值的情況,您寧願讓sql的強大功能直接與您的數據一起工作。

如果對於您的數據集(儘管可能很小)來說,管理低級存儲和檢索會帶來不必要的不​​便,那麼您可以選擇CoreData。藉助CoreData,代碼可以在純粹的對象層次上檢索和操作數據,而不必擔心存儲和檢索的細節,因此您更關注於域邏輯,而不是將其放在存儲和數據操作邏輯上。