有什么方法(或技巧)可以在不触发和委托方法的情况下修改NSManagedObject
委托人当前持有的内容?NSFetchedResultsController
didChangeObject:
controllerWillChangeContent:
例如, current if I change myObject.property = @"hello";
,委托方法被触发并对我的表视图进行更新,但我不希望这种情况发生,但仅适用于我明确指定的某些更改,而不是所有更改。
有什么方法(或技巧)可以在不触发和委托方法的情况下修改NSManagedObject
委托人当前持有的内容?NSFetchedResultsController
didChangeObject:
controllerWillChangeContent:
例如, current if I change myObject.property = @"hello";
,委托方法被触发并对我的表视图进行更新,但我不希望这种情况发生,但仅适用于我明确指定的某些更改,而不是所有更改。
from的setPrimitiveValue:forKey:
方法NSManagedObject
正是这样做的,例如
[myObject setPrimitiveValue:@"hello" forKey:@"property"]
或者,使用动态生成的访问器方法:
[myObject setPrimitiveProperty:@"hello"]
但是您应该阅读该方法的文档,因为有一些“特殊注意事项”。
另一种方法可能是创建“嵌套托管对象上下文”并对该子上下文进行所有修改。只有在保存子上下文时,更改才会传播到父上下文。