【发布时间】:2015-08-31 17:02:42
【问题描述】:
以下代码完成时变量 res 和 err 都等于 nil。为什么执行请求:错误:返回零?托管对象上下文不为零。此方法未记录在案...
NSBatchUpdateRequest *request = [NSBatchUpdateRequest batchUpdateRequestWithEntityName:@"EntityName"];
request.predicate = predicate; // assume a syntactically correct predicate
request.propertiesToUpdate = @{@"booleanProperty" : @(YES)};
request.resultType = NSUpdatedObjectsCountResultType;
NSError *err;
NSBatchUpdateResult *res = (NSBatchUpdateResult *)[managedObjectContext executeRequest:request error:&err];
【问题讨论】:
-
您找到解决方案了吗?我遇到了确切的问题(Xcode 7.1)
-
我的问题是,当这个批量更新请求在不同的线程上执行时,持久化的对象没有写回 SQLite。所以它试图批量更新还不存在的对象。
-
不错!我只是再次检查我的代码,这是同样的问题!略有不同的是因为合并冲突(因为线程冲突)无法保存。
标签: ios core-data nsmanagedobjectcontext nsfetchrequest