关于Core Data的一些整理(四)
2016-01-14 18:41
330 查看
关于Core Data的一些整理(四)
调用Core Data文件中的Request模板进行条件匹配![](http://images2015.cnblogs.com/blog/838821/201601/838821-20160114183852585-139446277.jpg)
//获取ObjectModel相当于获取Core Date文件 NSManagedObjectModel *model = self.coreDataStack.contenxt.persistentStoreCoordinator.managedObjectModel; self.fetchRequest = [model fetchRequestTemplateForName:@"FetchRequest"]; self.venues = [self.coreDataStack.contenxt executeFetchRequest:self.fetchRequest error:nil];
iOS8新增Asynchronous异步调用Core Data,提高性能
@property (nonatomic, strong) NSFetchRequest *fetchRequest; @property (nonatomic, strong) NSAsynchronousFetchRequest *asyncFetchRequest; //asyncFetch只是对普通request的封装 self.fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Venue"]; self.asyncFetchRequest = [[NSAsynchronousFetchRequest alloc] initWithFetchRequest:self.fetchRequest completionBlock:^(NSAsynchronousFetchResult * _Nonnull result) { self.venues = result.finalResult; [self.tableView reloadData]; }]; //注意调用的是executeRequest:方法 [self.coreDataStack.contenxt executeRequest:self.asyncFetchRequest error:nil];
iOS8新增批(Batch)处理,链接
Batch Updates或Batch Deletes与普通
NSFetchRequest请求不同的是,他们都基于
NSPersistentStoreRequest类,这是直接对底层的
NSPersistentStore进行数据操作的请求,而不经过
NSManagedObjectContext,因此避免将固态存储的数据转移到内存再处理的过程,因此效率大大提升。
//设置批处理请求,包含更新的内容,影响的stores NSBatchUpdateRequest *batchUpdate = [NSBatchUpdateRequest batchUpdateRequestWithEntityName:@"Venue"]; batchUpdate.propertiesToUpdate = @{@"favorite":@YES}; batchUpdate.affectedStores = self.coreDataStack.contenxt.persistentStoreCoordinator.persistentStores; batchUpdate.resultType = NSUpdatedObjectsCountResultType;//返回更新的行数 NSBatchUpdateResult *batchResult = [self.coreDataStack.contenxt executeRequest:batchUpdate error:nil]; NSLog(@"%@", batchResult.result); //在iOS9中又新增
相关文章推荐
- Android中的几种Toast
- C/C++文件读写
- CentOS 6编译httpd-2.4.10
- struts2 下载文件
- android中Baseadapter的 getItem 和 getItemId 的作用和重写
- C Primer Plus6-2
- LaTeX的首行缩进
- 发布自己项目让别人可以在dependencies中compile的更简单方法
- 人生第一道宽搜题 knight move
- GIT diff命令解释
- C Primer Plus6-1
- GCD 详细介绍及使用方法
- 不透明度的16进制 数值
- 页面全屏遮罩的实现 方式
- 关于Core Data的一些整理(三)
- XML基础学习01
- 中国剩余定理
- 白盒测试的学习之路----(三)优化代码
- PHP下SSL加密解密、验证、签名方法(超简单)
- Oracle LOB类型 总结 --整理与网络收集资料