Ios 编辑上下文中的所有实体
我有一个问题,当使用魔法记录来更改所有记录的某些属性时,最佳做法是什么 我发现的唯一方法是获取存储块中的所有实体,然后逐个枚举。有更好的解决办法吗Ios 编辑上下文中的所有实体,ios,core-data,magicalrecord,Ios,Core Data,Magicalrecord,我有一个问题,当使用魔法记录来更改所有记录的某些属性时,最佳做法是什么 我发现的唯一方法是获取存储块中的所有实体,然后逐个枚举。有更好的解决办法吗 [MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) { NSArray * devices = [CDDevice MR_findByAttribute:@"primary" withValue:@"YES" inContext:localCont
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
NSArray * devices = [CDDevice MR_findByAttribute:@"primary" withValue:@"YES" inContext:localContext];
[devices enumerateObjectsUsingBlock:^(CDDevice * device, NSUInteger idx, BOOL * _Nonnull stop) {
CDDevice * tmpDevice = [device MR_inContext:localContext];
tmpDevice.primary = @(0);
}];
} completion:^(BOOL contextDidSave, NSError *error) {
;
}];
差不多
[CDDevice MR_ChangeAtribute:"primary" toValue:@(0)];
所有CDDevice记录的更改都将primary更改为YES。这是核心数据方式。取、换、重复 然而,如果你有很多事情要做,你应该把它们都打包在一个自动释放池中,然后分小批处理,然后在每个批处理中将对象变回错误。这可以防止内存爆炸 但是,通过使用NSBatchUpdateRequest可以避免所有这些 我不使用MR,但谷歌快速搜索找到了这个链接,标题是 然而,这组功能的提交似乎是在10月10日提交的相对较新的,所以你必须自己做一些工作,看看它是否被正式发布。。。或者如果您想使用预发布版本