簡體   English   中英

將圖像存儲在Core Data或文件中?

[英]Storing images in Core Data or as file?

我有一組包含圖像的數據。 我想緩存這些數據。 我應該將它們存儲在文件系統還是核心數據上?為什么?

有兩個主要選擇:

  1. 將文件存儲在磁盤上,然后將映像的路徑存儲在核心數據中
  2. 將圖像的二進制數據存儲在核心數據中

我個人更喜歡第一種選擇,因為它允許我選擇何時在內存中加載實際圖像。 這也意味着我不必記住原始數據的格式; 我可以只使用路徑alloc / init一個新UIImage對象。

你可能想讀從如何處理二進制大對象(BLOB)的核心數據編程指南。 對於什么尺寸的二進制數據應該和不應該存儲在實際的Core Data存儲中有經驗法則。

您還可以查看Core Data iPad / iPhone BLOBS vs File系統的20k PDF文件

如果您確實在Core Data存儲中放置二進制數據,那么最好有一個“數據”實體來保存實際數據並將“Image”實體分開。 在兩個實體之間創建關系,以便只需在實際需要時加載“數據”。 “圖像”實體可以保存元數據,例如標題,數據類型等。

關於存儲用戶數據/文件的位置(我發現“應用程序支持”是一個不錯的位置,因為我擔心用戶移動,刪除或更改文件會導致圖像無法移動待我的申請恢復和使用)

以Minecraft為例:例如。 “〜/ Library / Application Support / minecraft / saves /”

我同意先前的注釋和存儲核心數據中圖像的路徑,但是否則將圖像本身作為png文件存儲在核心數據之外的自己的文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM