在没有触发NSManagedObject
和NSFetchedResultsController
委托方法的情况下,我是否有任何方式(或技巧)可以修改当前由委派的didChangeObject:
持有的controllerWillChangeContent:
?
例如,当前如果我更改myObject.property = @"hello";
,则会触发委托方法并对我的表视图进行更新,但我不希望这种情况发生,但仅针对我明确指定的某些更改,并非所有变化。
答案 0 :(得分:4)
来自setPrimitiveValue:forKey:
的{{1}}方法就是这样做的,例如
NSManagedObject
或者,使用动态生成的访问器方法:
[myObject setPrimitiveValue:@"hello" forKey:@"property"]
但你应该阅读该方法的documentation,因为有一些“特别注意事项”。
另一种方法可能是创建"nested managed object context"并对该子上下文执行所有修改。仅当保存子上下文时,更改才会传播到父上下文。