我正在尝试观察NSManagedObject
上各个NSManagedObjectContextWillSaveNotification
的变化:
- (void)managedObjectContextWillSave:(NSNotification *)notification
{
for (NSManagedObject * object in self.mutableObservedManagedObjects)
{
if (object.hasChanges)
{
[self managedObjectWasUpdated:object];
}
}
}
问题是
hasChanges
为true而object.changedValues
为空,因此错误地(?)触发了managedObjectWasUpdated:
。我试图理解为什么会这样,如果我最好在调用
object.changedValues.count
之前检查managedObjectWasUpdated:
。isInserted
和isDeleted
均为假。 最佳答案
我遇到了同样的问题。除了获取标志之外,我只是检查changedValues()是否为空。
对于Swift:
if !managedObject.changedValues().isEmpty {
// Has some changed values
}
关于ios - NSManagedObject的hasChanges为true,而changedValues为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26293852/