2011-03-22 93 views
1

我正在創建一個iPhone應用程序,它每次啓動時都會從服務器獲取信息。但是,我打算使用上個月/幾個月/年的獲取數據來計算一些平均值。將提取的數據保存到磁盤上

我一直在考慮使用字典(將日期和值關聯起來)將它們保存到NSUserDefaults中,但我只記得那裏還存在類似核心數據的東西。看到我對核心數據沒有任何經驗,我不知道它是否更好。如果不這樣做,我可以保存 時間,否則我會使用它。

數據以XML格式輸入,每次獲得幾組相同的響應(針對地圖上的不同位置)。由於用戶可以添加更多位置,因此可以更改套的數量。如果下次啓動時加載失敗,我現在只保存原始數據到磁盤加載。不過,我還想以一種可以輕鬆訪問的方式保存該XML中的某些特定值。什麼是最好的方法來做到這一點?

編輯:我其實也需要知道多快/有效的核心數據。目前,我正在NSArrays中使用NSDictionaries傳遞該會話期間的數據集。爲了保存比會話核心數據更持久的數據是理想的,我發現了很多(只需要找到一個將實體與日期關聯的好方法),我只需要一些關於效率的建議。

回答

2

如果您打算使用大量的數據,那麼最好給Core Data一個嘗試,畢竟這不是那麼複雜,並且有很多很好的教程可供您學習。存儲類型有不同的設置,您可以使用sqlite數據庫或xml文件。

據蘋果公司的人士稱,與自制解決方案相比,使用Core Data應該是快速和有效的記憶方式,因此這是首選方法。

+0

簡短但明確的解釋爲什麼。謝謝! – 2011-03-22 15:39:49

1

核心數據將更容易操縱數據和使用謂詞查詢數據。核心數據支持日期,所以你甚至可以找到日期範圍內的項目。