2011-03-18 22 views
1

在ios上緩存文件和/或字符串數​​據的正確方法是什麼? CoreData對此是否有用,還是有更好的操作系統?在iPhone/iPad上緩存數據的正確方式

什麼是緩存性能的最佳方法,以及對於任何數量的數據的持久性緩存?

我似乎無法找到關於此主題的任何不錯的Apple文檔。

+0

你想要什麼樣的緩存?在內存或磁盤緩存?你的部署目標是什麼? – JustSid 2011-03-18 13:30:37

+0

和你緩存什麼樣的數據?圖片?應用狀態?文本? – kubi 2011-03-18 13:41:34

+0

@ kubi圖像不需要明確緩存,其他所有內容都沒有不同。 – bioffe 2011-03-18 13:47:38

回答

6
+0

+1爲一個令人驚訝的答案。我不知道NSCache在iOS中可用。 – Caleb 2011-03-18 16:29:40

+0

@mrthys請注意,「NSCache」是一個非常簡單的內存緩存。如果存在應用程序內存警告,它不會僅處理特定時間的緩存或清除緩存。此外,由於它是內存中的緩存,因此當應用程序關閉或後臺時,緩存會消失。 'NSCache'肯定是一個有用的工具,但實際上它只是一個'NSDictionary',它可以在檢測到來自其他應用程序的內存壓力時刪除緩存的項目。 – memmons 2015-09-07 18:30:09

0

對於這個問題很多不同的解決方案,並沒有「正確」的方式做到這一點。一些受歡迎的選項是:

核心數據 - 蘋果的持久性框架。非常高效,但更困難。 SQLite - 快速而靈活的,但骨子裏。Plists - 基本上寫入文件到磁盤,你必須手動讀寫。 NSUserDefaults - 最輕的「鍵值」選項。 我鼓勵你閱讀全部四篇文章,看看哪一篇最適合你。

相關問題