一个简单、可定制的服务,用于更新 Core Data 模型。它使用 ObjectiveRecord 将字典格式的数据映射到 Core Data 实体的属性。
在获取新数据以更新并插入新的模型实例后,调用同步服务以协调新数据与 Core Data 实体。
#import <SimpleSyncService/SimpleSyncService.h>
// (Perform some fetching task, format data as an array
// of dictionaries...)
[SimpleSyncService synchronizeData:arrayOfUpdatedModelData
withEntityName:modelEntityName
inContext:managedObjectContext
withIdentifierNamed:@"remoteID"];
当数据中的属性键与模型属性名称不同时,可以指定如下
[SimpleSyncService synchronizeData:arrayOfUpdatedModelData
withEntityName:modelEntityName
inContext:managedObjectContext
withDataIdentifierNamed:@"email"
andModelIdentifierNamed:@"emailAddress"];
标识属性用于确定现有记录是否应更新或插入新记录。
将数据获取任务格式化为同步服务适配器,它们将在可自定义的时间间隔内后台队列中调用。基本流程如下
子类化 DMMSyncServiceAdapter
并在 fetchDataWithCompletion:
中编写您的获取代码,完成后记得调用 SyncCompletionBlock
。
使用 initWithInterval:entityName:modelIDKey:
初始化您的适配器,指定它们运行的间隔和要更新的模型实体的实体名称。使用 modelIDKey
以确定新数据是更新现有记录还是作为新记录插入。
使用 initWithAdapters:useQueue:
创建一个新的 SimpleSyncService
实例,包括您的适配器和首选操作队列。
使用 start
启动服务
使用 stop
在任何时候停止服务
此流程的示例包含在此存储库中的示例项目中。
将 pod 'SimpleSyncService'
包含在您的 Podfile 中
欢迎贡献,SimpleSyncService 正在使用 Kiwi 进行测试。