CDTIncrementalStore 0.2.1

CDTIncrementalStore 0.2.1

测试已测试
Lang语言 Obj-CObjective C
许可证 自定义
发布上次发布2015年11月

Jimi XMike Kistler维护。



  • IBM,Inc.

一个应用可以使用 CDTIncrementalStore 来将 Cloudant Sync 作为 持久存储 添加到 Core Data 应用中。

本文件假设您熟悉Core Data。有关Apple 文档

Core Data 框架提供了一般化的自动化解决方案,用于与对象生命周期和对象图管理相关的常见任务,包括持久化。

我们希望将 CDTDatastore 作为后端存储添加到"持久化",这通过网络存储提供。增量存储提供了必要的钩子来实现这一点。

值得庆幸的是,用户无需了解这些细节即可从使用 Core Data 的应用程序中利用 CDTIncrementalStore

注意: CDTIncrementalStore 是一个实验性框架且可能不稳定,可能会经常更改,可能会短时间通知中停止维护。IBM 不保证或暗示此框架的可靠性、可服务性或功能。本框架提供“按原样”且无条件保证。IBM 不承担因您使用此框架而产生的任何损害责任。

入门

CDTIncrementalStore 通过 CocoaPods 提供,要安装它,请将以下行添加到您的 Podfile:

pod "CDTIncrementalStore"

在 Swift 应用中使用

CDTIncremetalStore 使用 CDTDatastore,两者都可以在Swift中直接使用,虽然有一些小的问题。按照上述说明安装,并将 CDTIncrementalStore.h 导入到你的 桥接头

注意:直接使用 CDTDatastore 时可能需要考虑额外的 Swift 方面,请参阅 cloudant 同步 文档。

Core Data

如果你的应用程序尚未使用 Core Data,请查阅 Core Data 文档以了解如何设置持久存储。这通常涉及初始化持久存储协调器,然后再将其特定类型的持久存储添加到持久存储协调器中。

这个设置通常在应用程序代理中完成,但也可能在其他地方完成。常用的持久存储实现是 NSSQLiteStoreType,它使用 [SQLite] 进行持久存储。若要将 CDTDatastore 用于 Core Data 的持久存储,将 [CDTIncrementalStore type] 指定为持久存储类型,如下所示

#import <CDTIncrementalStore.h>

NSURL *storeURL = [docsDir URLByAppendingPathComponent:@"mystore"];
NSPersistentStoreCoordinator *psc = ...
[psc addPersistentStoreWithType:[CDTIncrementalStore type]
                  configuration:nil
                            URL:storeURL
                        options:nil
                          error:&error])];

storeURL 的路径名可能指定一个后缀,例如 ".cdtis",但不要求有后缀,后缀也没有意义。但是,为了避免混淆,你可能需要在将 sqlite 存储转换为 CDTIncrementalStore 时修改或删除标准的 .sqlite 后缀。

此时,你可以像平常一样使用 Core Data,你的更改将保存在本地的 CDTDatastore 图像中。

支持功能

Cloudant SyncCore Data 的持久存储支持以下功能

  • 将托管对象保存、查询、更新和删除到设备上的 CDTDatastore。
  • 批量更新请求
  • 异步获取操作
  • 模式迁移

不支持的功能

以下 Core Data 功能当前不支持 CDTIncrementalStore

  • 字符串属性上的范围判断,如 BEGINSWITH、ENDSWITH、LIKE 或 MATCHES
  • 复合判断的 NOT 操作符
  • 关系属性上的判断。

示例应用

有关如何将 CoreData 应用程序转换为使用 CDTIncrementalStore 的完整说明可以在本 GitHub 目录 中找到。该应用程序基于 Apple 的 iPhoneCoreDataRecipes,演示了 CDTIncrementalStore 与标准的 Corey Data 交互以及与远程 Cloudant 数据库的复制。

对项目的贡献

有关贡献的说明,请参阅 贡献

许可协议

请参阅协议

其他文件

这些文件可以在文档目录中找到。

  1. 复制
  2. 可移植性
  3. 内部结构