2011-12-09 89 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