Nimble-CoreData 0.0.7

Nimble-CoreData 0.0.7

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年1月

Marco Sero 维护。



  • 作者:
  • Marco Sero

Nimble

Core Data (和 iCloud) 使其变得轻快。

为什么

答案很简单。我需要一个具有以下功能的 Core Data 包装器:

  • 易于配制和查找(有人提到 MagicalRecord 吗?)
  • 简单的架构,主要和背景上下文。关于两个语境比父+子语境快得多的内容已经有很多描述。有兴趣的话可以阅读 这里这里
  • iOS 7 和 iCloud 准备就绪(但仍兼容)

安装

然后,将 Nimble.h 导入到您的标头文件中。

它如何工作

首先,根据需要来设置本地或云端存储

[NimbleStore nb_setupStore:&error];
// OR
[NimbleStore nb_setup_iCloudStore:&error]

由于 iOS 7 的 API,iCloud 设置是完全异步的,本地存储会创建一个可供使用的存储,等待 iCloud 的同步。
目前,iCloud 只适用于 iOS 7,因为 iOS 6 的性能还不够。

保存器

在主或背景线程中轻松保存,然后所有内容都会合并到主语境中

[NimbleStore nb_saveInBackground:^(NBContextType contextType) {
  Book *book = [Book nb_createInContextOfType:contextType];
  book.name = @"Best book ever";
}];

创建者

您可以使用以下方法创建一个新对象

[YourModelObject nb_createInContextOfType:NBMainContext];

要创建一个对象并同时在同一时间初始化一些属性,您可以使用

[YourModelObject nb_createInContextOfType:NBMainContext initializingPropertiesWithDictionary:@{
    @"name" : @"Marco" ,
    @"surname" : @"Sero"
}];

查找器和获取器

您可以在 NSManagedObject+Finders.h 中找到所有类型的查找器和获取器

例如,要异步地获取和更改对象,您可以这样做

[NimbleStore nb_saveInBackground:^(NBContextType contextType) {
  Book *book = [Book nb_findFirstInContext:contextType];
  book.name = @"updated name";
}];

待办事项

它只是需要您的一些支持,因为直到现在它还没有在真正的应用程序上测试过。完成之后,这是我的列表

  • 更多测试 & 文档
  • iCloud 同步问题处理程序
  • 编译时切换,使用不带 nb_ 前缀的一切
  • 数据导入器

联系

Marco Sero

许可证

Nimble 在 MIT 许可证下可用。请参阅文件 LICENSE。