可以在coredata中存储jpg图像使iCloud App更容易

时间:2012-05-31 20:08:51

标签: objective-c core-data ios5 icloud

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

如果是,我可以计算路径并检索图像。实际上有三个jpg图像保存,一个小的用于UITableCell,一个中等大小的iPhone和一个大尺寸的iPad。 最大尺寸最大可达100kb。

一切正常,但我不得不在应用程序中加入一些重要的逻辑,例如判断图像是否转到iCloud,如果删除则图像可以删除也可以移动到本地。

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

感谢

2 个答案:

答案 0 :(得分:1)

我绝对不会将任何图像数据存储在数据库中。我有一个应用程序非常好用,我在数据库中存储缩略图。一旦我尝试移动到iCloud,我发现由于图像数据导致同步时间大幅增加。如果您的数据库有多个条目,我会说几秒钟到几分钟。我现在将所有内容存储在文件夹中并测试不同的方式,以允许用户决定他们在云中保存或不想保存哪些图像。

如果您的数据输入仍然很小,我认为它可能值得一试,但开发知识

答案 1 :(得分:0)

我认为将至少小图像存储在数据库中是有意义的。这应该是非常有效的,不是太网络密集的 - 最重要的是 - 不会使iCloud存储太大。

Apple对iCloud中的“负责任”数据存储非常坚定。请参阅iOS编程指南中的“Being a Responsible iCloud App”部分。它说明了

  

利用iCloud存储功能的应用程序在存储数据时应该采取负责任的行动。每个用户帐户中的可用空间有限,所有应用

因此,我不会在iCloud核心数据存储中存储大图像。