0

我有一个在 iCloud 中使用 CoreData 的 iOS 5.1 应用程序。用户也可以拍照并将其保存在 iCloud 上。目前我只在一个实体中保存一个属性图片YES或NO,它应该代表拍照事件,假设它是一种日记。

当是时,我可以计算路径并检索图像。实际上保存了三张jpg图片,一个小用于UITableCell,一个中号用于iPhone,一个大号用于iPad。最大大小可以是最大大约 100kb。

一切正常,但我必须在应用程序中添加一些繁重的逻辑,例如决定图像是否进入 iCloud,以及在删除的情况下,图像是否也可以删除或移动到本地。

在我的开发生涯中,我从未选择将图像或二进制文件保存在数据库中,但这次我在想,如果在后台发生的 CoreData 同步可以使我的应用程序更加可靠,并让我删除一些代码行。这个想法是为实体添加三个属性,或者可能是为了延迟问题,在另一个实体中根据需要加载。

谢谢

4

2 回答 2

1

我肯定会避免在数据库中存储任何图像数据。我有一个在数据库中存储缩略图的应用程序,效果很好。当我尝试迁移到 iCloud 时,我注意到由于图像数据,同步时间显着增加。如果您的数据库有多个条目,我会说几秒钟到几分钟。我现在将所有内容存储在文件夹中并测试不同的方法,以允许用户决定他们希望或不希望将哪些图像保存在云中。

如果您的数据输入将保持较小,我认为它可能仍然值得一试,但发展知道

于 2012-06-17T05:25:24.350 回答
0

我认为至少将小图像存储在数据库中是有意义的。这应该是非常有效的,不会过于依赖网络,并且 - 最重要的是 - 不会使 iCloud 商店变得太大。

Apple 对 iCloud 中“负责任的”数据存储非常坚定。请参阅iOS 编程指南中的“成为负责任的 iCloud 应用程序”部分。那里说

利用 iCloud 存储功能的应用程序在存储数据时应该负责任地行事。每个用户帐户中的可用空间是有限的,并且由所有应用程序共享

因此,我会避免在您的 iCloud 核心数据存储中存储大图像。

于 2012-05-31T21:07:06.880 回答