有什么方法(或技巧)可以修改委托(delegate) NSFetchedResultsController 当前持有的 NSManagedObject 而不会触发 didChangeObject: 和controllerWillChangeContent: 委托(delegate)方法?
例如,当前如果我更改 myObject.property = @"hello"; ,则会触发委托(delegate)方法并对我的 TableView 进行更新,但我不希望这种情况发生,但仅适用于我明确指定的某些更改,而不是所有更改。
Best Answer-推荐答案 strong>
NSManagedObject 中的 setPrimitiveValue:forKey: 方法正是这样做的,例如
[myObject setPrimitiveValue"hello" forKey"property"]
或者,使用动态生成的访问器方法:
[myObject setPrimitiveProperty"hello"]
但您应该阅读 documentation这种方法,因为有一些“特殊考虑”。
另一种方法是创建 "nested managed object context"并对该子上下文进行所有修改。只有在保存子上下文时,更改才会传播到父上下文。
关于iphone - 在不触发委托(delegate)方法的情况下更改 NSManagedObject 属性?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/11653939/
|