[NSManagedObject changedValuesForCurrentEvent] 返回旧值。有人遇到过这个问题吗?
文档说:
返回一个字典,其中包含自上次发布 NSManagedObjectContextObjectsDidChangeNotification 以来已更改的持久属性的键和(新)值。
但实际上它返回旧值。
[NSManagedObject changedValuesForCurrentEvent] 返回旧值。有人遇到过这个问题吗?
文档说:
返回一个字典,其中包含自上次发布 NSManagedObjectContextObjectsDidChangeNotification 以来已更改的持久属性的键和(新)值。
但实际上它返回旧值。
我在回复的时候看到了这个NSManagedObjectContextObjectsDidChangeNotification
。我不知道这是否与其他NSManagedObjectContext
通知一致。作为一种解决方法,我使用键通过以下方式从托管对象本身获取新值:
NSDictionary *changedProperties = [managedObject changedValuesForCurrentEvent];
for(NSString *key in changedProperties) {
NSObject *newValue = [managedObject performeSelector:NSSelectorFromString(key)];
}
另一方面:我发现(在某些情况下),在使用[managedObjectContext refreshObj:managedObject mergeChanges:NO]
. 就我而言,我需要遍历已删除对象的关系。但是即将被删除的对象关系已经被清空了。刷新对象解决了这个问题。
希望这可以帮助。