我开发了一个带有核心日期的iOS应用程序。我有下表。
id | title | Value
===========================
1 | Foo | 100
2 | Bar | 200
3 | FooFoo | 300
现在我想将所有记录的值列更新为500。
我正在使用下面的代码,
NSArray *mutableFetchResult = [[[self.managedObjectContext executeFetchRequest:fetchRequest error:&error] mutableCopy] autorelease];
if (mutableFetchResult == nil) {
NSLog(@"Fetch result error %@, %@", error, [error userInfo]);
}
for (NSManagedObject *ob2 in mutableFetchResult)
{
[newContact setValue:@“500” forKey:@"Value"];
if (![context save:&error]) {
NSLog(@"Failed to save - error: %@", [error localizedDescription]);
}
}
它工作正常。但我不想使用for循环更新记录。在我关心的是我有大约60000条记录。所以它看起来有点奇怪。
非常感谢任何帮助。谢谢
答案 0 :(得分:1)
在iOS 8中,您可以使用NSBatchUpdateRequest
执行批量请求。我很害怕,您必须遍历每条记录才能更新iOS 7
。
在这个漂亮的教程中阅读批量更新: