2011-12-09 116 views
2

我想设置一个自动'修改'时间戳与我的核心数据对象图。我知道了每一个模型中工作用下面的代码:核心数据'修改'时间戳

- (void)willSave 
{ 
    NSDate *date = [NSDate date]; 
    [self setPrimitiveValue:date forKey:@"modified"]; 
    [super willSave]; 
} 

不过,我想这个修改日期,以便能够冒泡对象图,改变了修改日期依次在每个父对象。所以如果我有:祖父母 - (hasMany) - >>父母 - (hasMany) - >>孩子和我更改孩子的属性,父母和祖父母修改时间戳应该都更新到相同值。

有没有简单的方法来做到这一点?谢谢!

回答

1

您可以注册NSManagedObjectContextObjectsDidChangeNotification通知。在它的userInfo中,您将获得更新,删除和插入的托管对象列表。

下一步是迭代插入和更新的对象,然后反思对象(isKindOfClass,respondsToSelector,...)并为拾取的对象分配一个时间戳。

最好,

+0

太好了,谢谢! – NathanGaskin

+0

你能详细说明如何遍历父对象来更新时间戳吗? – chourobin