2011-04-12 49 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的缓存。