Core Data (和 iCloud) 使其变得轻快。
答案很简单。我需要一个具有以下功能的 Core Data 包装器:
然后,将 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";
}];
它只是需要您的一些支持,因为直到现在它还没有在真正的应用程序上测试过。完成之后,这是我的列表
nb_
前缀的一切Marco Sero
Nimble 在 MIT 许可证下可用。请参阅文件 LICENSE。