【发布时间】:2015-01-23 23:13:55
【问题描述】:
我想在 Core Data 应用程序中通过 iCloud 进行同步。除了 Core Data 中的一些字符串属性外,我还想同步图像。我做了很多研究,似乎有两种方法可以实现这一目标。意见确实各不相同,所以我很困惑哪个是更好的解决方案?
方法 A:
将图像作为二进制数据存储在 Core Data 中。
优点:
在一个同步解决方案中,所有内容都与 Core Data 同步同步。
没有额外的代码,这对我来说是一大优势,因为我使用的 Ensembles Core Data Sync Framework 运行良好。
缺点:
- 人们说您不应该将较大的数据与 Core Data 同步。但是什么是“允许外部存储”呢? - 我读到检查该选项可能会在迁移核心数据模型时导致数据丢失。但我认为这就是它的目的?为了同步更大的数据......!?我应该检查还是不检查?对此众说纷纭……
方法 B:
将图像本地存储在文档目录中,并将其 url 存储在 Core Data 中。
优点:
- 避免方法 A 的缺点。
缺点:
两个同步解决方案需要并行工作。图像的核心数据同步和 UIDocument 同步。 - 这项工作真的会同步吗?会不会是 Core Data 已经同步,而 UIDocument 同步失败或速度较慢或其他原因?
更多代码。非常复杂,非常复杂。
【问题讨论】: