我在 iOS 7 上,想通过 iCloud 使用核心数据,这很好用,我想就以下问题提出一些意见。
我的一些核心数据对象有相关的图像/大文本文件,我将它们作为文件存储在文件系统上,并且只是将这些项目的 url 设置为字符串属性。现在很明显,这不仅仅适用于 iCloud 核心数据同步,因为 iCloud 没有这些文件的概念。我想知道您是否对如何处理此问题有任何建议?
1) 我可以将图像数据和大文本文件直接存储为核心数据属性,但这似乎不是最好的方法
2) 我也可以使用 iCloud 来存储文档,然后以某种方式尝试在不同的 iOS 设备中保持文件同步,但这可能会变得困惑。
3) 一些其他的解决方案。
有什么建议吗?
问候
丹尼尔
最佳答案
如果您以编程方式设置模型,请向 setAllowsExternalBinaryDataStorage:
添加一条消息,以允许 Core Data 决定何时将其自动保存为记录或单独文件。 Core Data 在决定使用外部文件时会为您管理它们,因此它也应该在 iCloud 中“正常工作”。
NSAttributeDescription * imageAttribute;
//Initialise, setup, add to model, etc
[imageAttribute setAttributeType: NSBinaryDataAttributeType];
[imageAttribute setAllowsExternalBinaryDataStorage:YES];
模型编辑器 UI 中的属性也有相应的复选框。
关于ios - 核心数据与 iCloud 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867551/