有什么方法(或技巧)可以修改NSManagedObject
目前由一名代表持有NSFetchedResultsController
不触发didChangeObject:
and controllerWillChangeContent:
委托方法?
例如,如果我改变当前的myObject.property = @"hello";
,委托方法被触发并对我的表视图进行更新,但我不希望发生这种情况,但仅限于我明确指定的某些更改,而不是所有更改。
The setPrimitiveValue:forKey:
方法来自NSManagedObject
正是这样做的,例如
[myObject setPrimitiveValue:@"hello" forKey:@"property"]
或者,使用动态生成的访问器方法:
[myObject setPrimitiveProperty:@"hello"]
但你应该阅读文档 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html#//apple_ref/occ/instm/NSManagedObject/setPrimitiveValue%3aforKey%3a该方法,因为有一些“特殊注意事项”。
另一种方法可能是创建一个“嵌套管理对象上下文” http://developer.apple.com/library/mac/#releasenotes/DataManagement/RN-CoreData/_index.html#//apple_ref/doc/uid/TP40010637-CH1-SW1并对该子上下文进行所有修改。仅当保存子上下文时,更改才会传播到父上下文。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)