我也有一套包含圖像的數據。我想緩存這些數據。我應該將它們存儲在文件系統還是核心數據上?爲什麼?將圖像存儲在覈心數據中或作爲文件?
回答
主要有兩種選擇:
- 存儲在磁盤上的文件,然後保存在覈心數據的路徑,圖像
- 存儲圖像的核心數據的二進制數據
我個人更喜歡第一個選項,因爲它允許我選擇何時將內存中的實際圖像加載。這也意味着我不必記住原始數據的格式;我可以使用路徑alloc
/init
一個新的UIImage
對象。
您可能想要從核心數據編程指南中瞭解如何處理二進制大對象(BLOB)的this。對於什麼尺寸的二進制數據應該和不應該存儲在實際的Core Data存儲中,有一些經驗法則。
您也可以看看Core Data iPad/iPhone BLOBS vs File system for 20k PDFs
如果核心數據存儲中做的地方二進制數據,你會做得很好具有保存實際數據的「數據」的實體,有你的「圖像」實體分開。在兩個實體之間創建一個關係,以便只在實際需要時才加載「數據」。 「圖像」實體可以保存元數據,如標題,數據類型等。
+1關於存儲數據的單獨實體的好主意。 :) – 2010-11-11 21:14:09
關於在哪裏存儲用戶數據/文件(我發現「應用程序支持」是一個體面的位置,因爲我對使用者移動,刪除或改變文件有所警惕,這將導致圖像無法恢復並在以後被我的應用程序使用)
以我的世界爲例: eg。 「〜/ Library/Application Support/minecraft/saves /」
我同意以前的評論和存儲路徑到核心數據中的圖像,但除此之外將圖像本身作爲png文件存儲在覈心數據之外的文件夾中。
- 1. 在文件系統與核心數據中存儲圖像
- 2. 將圖像保存爲核心數據
- 3. 核心數據,將圖像存儲在字典中
- 4. 將圖像存儲在覈心數據中
- 5. 將核心數據存儲在NSOperation中
- 6. Xcode-將數據存儲在覈心數據或SQLite中?
- 7. 將圖像保存到核心數據?
- 8. iOS:在覈心數據中存儲縮略圖圖像
- 9. 核心數據文件存儲
- 10. 如何在GAE數據存儲中將base64圖像作爲文件存儲
- 11. 將UITextView存儲到核心數據中
- 12. 如何在iPhone的核心數據中存儲很多圖像和.mp3文件?
- 13. 將圖像存儲在數據庫或系統文件中?
- 14. 如何將圖像從collectionviewcell存儲到核心數據
- 15. 核心數據:刪除存儲在覈心數據中的視圖
- 16. 在覈心數據中將NSNumber *的NSArray存儲爲NSString
- 17. 在覈心數據中將UIImage存儲爲可變形屬性
- 18. 在覈心數據中存儲UUID
- 19. 在覈心數據中存儲NSDate(swift)
- 20. 在覈心數據中存儲MKRoute
- 21. 在覈心數據中存儲ABRecordRef
- 22. 在覈心數據中存儲NSInteger
- 23. 存儲NSAttributedString核心數據
- 24. 如何在iphone中使用核心數據將圖像存儲到sqlite?
- 25. 將XML數據存儲在覈心數據中
- 26. 在覈心數據中存儲文件路徑拋出異常
- 27. 將圖像轉換爲NSData以保存核心數據
- 28. 使用神奇記錄將圖像保存爲核心數據
- 29. 如何將矩陣或矢量數據結構存儲在覈心數據中?
- 30. 保存圖像到核心數據
所以你的意思是說如果我將圖像作爲二進制數據存儲在覈心數據中,我需要在恢復它時瞭解原始文件格式。在Core Data中存儲數據是否有其他缺點? – Abhinav 2010-11-11 20:48:38
@Abhinav正確;另一件事我會說,通過保持核心數據的形象,你保持你的商店文件小。這是否是一個缺點可以通過大量的性能分析來解決。 :) – 2010-11-11 21:13:33
因此,這意味着將較重的圖像文件放在Core Data的外面會提高應用程序的性能。我理解正確嗎? – Abhinav 2010-11-11 22:00:07