Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 核心数据:为什么要创建自定义持久存储?_Ios_Macos_Cocoa_Core Data - Fatal编程技术网

Ios 核心数据:为什么要创建自定义持久存储?

Ios 核心数据:为什么要创建自定义持久存储?,ios,macos,cocoa,core-data,Ios,Macos,Cocoa,Core Data,我一直在阅读《Pro Core数据》一书,第3章“创建您自己的定制持久存储”已经说到点子上了。作者并没有真正谈论我为什么要创建一个定制的持久存储。解决问题的唯一地方是: 在某些情况下,默认的存储类型不能最好地完成您需要的任务 我们正在努力实现这一目标 这并不能真正回答我的问题。如果您不想使用所提供的SQL的默认版本,那么其中一个内置类型应该解决任何问题。创建自定义存储类型似乎与核心数据的精神背道而驰,我只关心存储对象,而不关心它们的存储方式 我想看一些具体的例子,说明为什么SQL、Binary或

我一直在阅读《Pro Core数据》一书,第3章“创建您自己的定制持久存储”已经说到点子上了。作者并没有真正谈论我为什么要创建一个定制的持久存储。解决问题的唯一地方是:

在某些情况下,默认的存储类型不能最好地完成您需要的任务 我们正在努力实现这一目标

这并不能真正回答我的问题。如果您不想使用所提供的SQL的默认版本,那么其中一个内置类型应该解决任何问题。创建自定义存储类型似乎与核心数据的精神背道而驰,我只关心存储对象,而不关心它们的存储方式


我想看一些具体的例子,说明为什么SQL、Binary或Property List(适用于Mac OS X)类型不充分,并且需要另一种存储类型。

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

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

一些例子,其中一些我已经看到,其中一些只是可能性:

  • 使用“增量存储”类型使用核心数据处理web服务,尽可能缓存内容。因此,“保存”被转换为网络请求,以推送到服务器
  • 使用SQLite以外的SQL数据库,可能是MySQL
  • 直接写入自定义文件格式