2

我一直在研究“Pro Core Data”一书,并且在第 3 章“创建自己的自定义持久存储”中达到了这一点。作者并没有真正谈论我为什么要创建自定义持久存储。唯一解决问题的地方:

在某些情况下,默认商店类型不能最好地完成您想要实现的目标。

这并没有真正回答我的问题。如果您不想使用提供的默认 SQL 版本,那么其中一种内置类型似乎应该可以解决任何问题。创建自定义存储类型似乎违背了 Core Data 的精神,我只关心对象的存储,而不是它们的存储方式。

我想看看为什么 SQL、Binary 或 Property List (for Mac OS X) 类型不够充分并且需要另一种存储类型的具体示例。

4

2 回答 2

4

当然,内置类型应该能够处理 90% 的需求,但仍然剩下 10%...

一些例子,其中一些我见过,其中一些只是可能性:

  • 使用“增量存储”类型来使用 Core Data 来处理 Web 服务,并尽可能缓存内容。因此,“保存”被转换为网络请求以推送到服务器
  • 使用 SQLite 以外的 SQL 数据库,可能是 MySQL
  • 直接写入自定义文件格式
于 2013-09-17T13:34:59.870 回答
1

我可以想到一个场景,我在云上有一个数据库,它不是 sqlite,我一直希望它与我的设备数据库同步。在那种情况下,我可以在 iOS 中使用自定义持久存储。

于 2013-09-17T13:34:15.707 回答