2011-04-12 113 views
3

我是Core Data的新手,我正在開發我的第一款個人iOS應用程序。使用核心數據與每個實體的許多圖像?

我有一個實體,我們稱它爲Car,它有一個縮略圖以及與其相關的其他圖像庫。使用ASIHTTPRequestJSONKit將數據同步到在線服務。該應用程序不需要創建新的Car的,只是顯示它們。

縮略圖可能在100kB左右,所以我可以將它作爲blob數據存儲在Car實體中。

但是我不確定我應該如何存儲其他多個圖像?

這些圖像大約在800kB到1MB之間,因此將它們存儲在Core Data存儲中似乎不被推薦。

我能想到的唯一選項是:

  • 商店另一個實體CarImage中每張照片的網址,並依靠ASIHTTPRequest的緩存。
  • 創建一個文件夾結構,並保存到的相應數它的每個圖像Car的文件夾,並保持到文件路徑引用的CarImage實體

由於數據同步,存在Car潛在的對被刪除,因此文件夾中的圖像也必須被刪除。我可以很快看到這個失控。

我將不勝感激任何意見。謝謝。

+0

[此問題](http://stackoverflow.com/questions/4158286/storing-images-in-core-data)幾乎相同。 – Ben 2011-04-12 11:28:54

+0

我應該提到,可能有超過1000輛'汽車'每個4-5圖像。 – Ben 2011-04-13 03:50:23

回答

1

我想你的第一個選擇。

關於需要刪除的圖像:是不是由ASIHTTPRequest的緩存自動處理,一旦它們過期?至少這是我期望從緩存...

+0

是的ASIHTTPRequest會處理,如果我去第一個選項。 – Ben 2011-04-13 03:49:01

+0

我打算接受這個答案(因爲它是第一個),即使你們兩個都差不多。多謝你們 – Ben 2011-07-12 09:41:14

1

我會去第一個選項。我過去做過類似的事情,但我實際上也將圖像二進制數據存儲在Core Data中。儘管如此,我不建議存儲數據,因爲這對我造成了問題 - 只依賴ASIHTTPRequest的緩存。