[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]
獲取當前/舊值。就我而言,我需要遍歷已刪除對象的關係。但即將被刪除的對象關係已經被取消。刷新對象解決了這個問題。
希望這會有所幫助。