NSManagedObject:isUpdated和changedValues差异

时间:2012-06-12 14:47:25

标签: iphone objective-c ios core-data

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

我想用最后一个modif更新实体的属性。时间戳,所以我正在实现其willSave方法。

我发现在调用该方法时,isUpdated返回TRUE,但changedValues为空(changedValuesForCurrentEvent相同)。

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

由于

1 个答案:

答案 0 :(得分:2)

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

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

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