测试已测试 | ✓ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2015年2月 |
由Elvis Nuñez维护。
依赖项 | |
DATAStack | >= 0 |
NSManagedObject-HYPPropertyMapper | >= 0 |
NSManagedObject-ANDYMapChanges | >= 0 |
NSDictionary-ANDYSafeValue | >= 0 |
quipu [kee-poo, kwip-oo]:也称作话结,是历史上一直在南美安第斯地区使用的记录设备。它也是一个用于收集数据和记录的系统,包括监控税收义务、正确收集人口普查记录、日历信息以及军事组织。
Kipu 使您的日常任务,即解析 JSON 响应并将其转换为 Core Data,变得更加简单。它使用约定优于配置的范式来简化您的流程。
NSManagedObject
(当使用 NSFetchedResultsController
代理时很有用)objectID
进行,我们使用您的远程键(如 id
)进行此操作+ (void)processChanges:(NSArray *)changes
usingEntityName:(NSString *)entityName
dataStack:(DATAStack *)dataStack
completion:(void (^)(NSError *error))completion
changes
:JSON 响应entityName
:Core Data 的模型实体名称(如 User、Note、Task)dataStack
:您的 DATAStack[
{
"id": 6,
"name": "Shawn Merrill",
"email": "[email protected]",
"created_at": "2014-02-14T04:30:10+00:00",
"updated_at": "2014-02-17T10:01:12+00:00",
"notes": [
{
"id": 0,
"text": "Shawn Merril's diary, episode 1",
"created_at": "2014-03-11T19:11:00+00:00",
"updated_at": "2014-04-18T22:01:00+00:00"
}
]
}
]
[Kipu processChanges:JSON
usingEntityName:@"User"
dataStack:dataStack
completion:^{
// Objects saved in Core Data, do something
}];
盈利!
iOS 7 或更高版本
,DATAStack Core Data 栈
Kipu 的实现离不开以下 完全测试 的组件的帮助
DATAStack:Core Data 栈和线程安全保存
NSManagedObject-ANDYMapChanges:帮助您清除已删除的对象;内部我们用来区分插入、更新和删除。此外,它还用于唯一化;Core Data 根据对象ID进行唯一化,ANDYMapChanges 使用您的远程键(如 id)进行此操作
NSManagedObject-HYPPropertyMapper:将JSON字段映射到其Core Data对应字段,它的大部分工作是通过“约定优于配置”范式完成的。
Kipu 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:
pod 'Kipu', '~> 0.4'
将您的 Core Data 栈替换为 DATAStack 实例
- (void)applicationWillTerminate:(UIApplication *)application
{
[self.dataStack persistWithCompletion:nil];
}
您的 Core Data 模型应与后端实体匹配,您的类可以有不同的名称。您的字段应与它们的 JSON 对应字段匹配。例如,first_name
映射到 firstName
,address
到 address
。
此规则有两个例外
id
应与 remoteID
匹配created_at
和 updated_at
应与 createdDate
和 updatedDate
匹配您可以使用任何网络库或 NSURLConnection。
您已准备就绪,有关如何使用 Kipu 的示例项目,请查看 使用 App.net 的示例项目。
Elvis Nuñez,[email protected]
Kipu 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。