有什么方法(或技巧)可以修改委托(delegate) NSFetchedResultsController
当前持有的 NSManagedObject
而不会触发 didChangeObject:
和controllerWillChangeContent:
委托(delegate)方法?
例如,当前如果我更改 myObject.property = @"hello";
,则会触发委托(delegate)方法并对我的 TableView 进行更新,但我不希望这种情况发生,但仅适用于我明确指定的某些更改,而不是所有更改。
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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |