Ios [[NSManagedObject changedValuesForCurrentEvent]]返回旧值
[NSManagedObject changedValuesForCurrentEvent]返回旧值。有人面临这个问题吗 医生说: 返回一个字典,其中包含自上次发布NSManagedObjectContextObjectsIDChangeNotification以来已更改的持久属性的键和(新)值Ios [[NSManagedObject changedValuesForCurrentEvent]]返回旧值,ios,core-data,nsmanagedobject,Ios,Core Data,Nsmanagedobject,[NSManagedObject changedValuesForCurrentEvent]返回旧值。有人面临这个问题吗 医生说: 返回一个字典,其中包含自上次发布NSManagedObjectContextObjectsIDChangeNotification以来已更改的持久属性的键和(新)值 但实际上它返回旧值。我在响应NSManagedObjectContextObjectsIDChangeNotification时看到了这一点。我不知道这是否与其他NSManagedObjectConte
但实际上它返回旧值。我在响应
NSManagedObjectContextObjectsIDChangeNotification时看到了这一点。我不知道这是否与其他NSManagedObjectContext
通知一致。作为解决方法,我使用键通过以下方式从托管对象本身获取新值:
NSDictionary *changedProperties = [managedObject changedValuesForCurrentEvent];
for(NSString *key in changedProperties) {
NSObject *newValue = [managedObject performeSelector:NSSelectorFromString(key)];
}
另一方面:我发现(在某些情况下),在执行保存操作之前,必须使用[managedObjectContext refreshObj:managedObject mergeChanges:NO]
取消对象故障,以获取当前/旧值。在我的例子中,我需要遍历已删除对象的关系。但是即将被删除的对象关系已经为空。刷新对象解决了这个问题
希望这有帮助