2012-05-01 83 views

回答

0

如果你想對它們執行查詢,最好使用核心數據或sqlite。否則,我認爲文檔文件是可以的。

0

CoreData是一種將數據保存在應用程序中的好方法。但請考慮在這種情況下,您需要清理舊數據以避免在設備中佔用過多的存儲空間。除此之外,考慮到CoreData對持久化對象關係是非常好的,而在你的情況下,你可能不需要持久化一個對象圖,而只需要一個後期數據列表,所以你不會利用CoreData的查詢特性。

但是,如果您使用的是基於網絡的API,則可能還會利用API提供的數據緩存並使用iOS網絡緩存機制。爲了簡化操作,您可以利用開放源代碼的網絡框架(例如MKNetworkKit),這些框架可以將緩存的數據保存在文件系統中,一旦過期或可自定義時間(幾天,幾周,幾個月)就會擺脫它們。或者,如果您不想使用第三方工具,則仍然可以使用Apple提供的iOS的NSURLCache對象。這種方法比核心數據更簡單:在這種情況下,您仍然可以從網絡獲取數據,並且如果它已被緩存,則不會遵循網絡路徑,數據將直接從文件系統中獲取。

0

使用iCloud,文檔更有意義,但@yibuyiqu是正確的,如果您想查詢數據庫中的數據庫是最好的。

您可以將可搜索和最初可顯示的數據放入數據庫,並使其指向保存完整數據的文件(使用GUID作爲文件名)。這樣,如果您使用iCloud,則您的數據已準備好導出,因爲它已經存在於它所期望的文檔中。

另一個好處是搜索性能越高,數據庫中的數據就越少。因此,如果您要存儲圖像或其他重要數據,那麼將數據庫外部的數據保存爲最佳數據。

相關問題