[NSManagedObject changedValuesForCurrentEvent]返回旧值。有人遇到这个问题吗?[[NSManagedObject changedValuesForCurrentEvent]]返回旧值
文件说:
返回一个包含自NSManagedObjectContextObjectsDidChangeNotification最后发布已更改的键和持久性的(新)值的字典。
但实际上它返回的是旧值。
[NSManagedObject changedValuesForCurrentEvent]返回旧值。有人遇到这个问题吗?[[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]
获取当前/旧值。就我而言,我需要遍历已删除对象的关系。但即将被删除的对象关系已经被取消。刷新对象解决了这个问题。
希望这会有所帮助。