iphone – NSManagedObject:isUpdated和changedValues差异

我有一个核心数据实体类,它是NSManagedObject的子类.

我想用最后一个modif更新实体的属性. timestamp,所以我正在实现它的willSave方法.

我发现调用该方法时,isUpdated返回TRUE但changeValues为空(对于changedValuesForCurrentEvent也是如此).

你能解释一下我怎么可能?

谢谢

最佳答案 当更新导致KVO通知的任何属性时,状态方法isUpdated设置为YES,因此将属性重新设置为其当前值将导致isUpdated设置为YES.

changedValues返回实际已更改的属性.也许像这样的类别方法会有所帮助:

- (BOOL) isActuallyUpdated
{
    return self.changedValues.count > 0
}
点赞