核心数据“修改”时间戳

Posted

技术标签:

【中文标题】核心数据“修改”时间戳【英文标题】:Core Data 'modified' timestamp 【发布时间】:2011-12-09 12:01:57 【问题描述】:

我正在尝试使用我的核心数据对象图设置一个自动“修改”时间戳。我已经使用以下代码在每个模型中工作:

- (void)willSave

    NSDate *date = [NSDate date];
    [self setPrimitiveValue:date forKey:@"modified"];
    [super willSave];

但是,我希望这个修改日期能够冒泡对象图,依次更改每个父对象的修改日期。

所以如果我有:祖父母--(hasMany)-->>父母--(hasMany)-->>孩子并且我更改了孩子的属性,父母和祖父母修改的时间戳都应该更新为相同的值.

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

【问题讨论】:

【参考方案1】:

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

下一步将遍历插入和更新的对象,然后内省对象(isKindOfClass、responsToSelector、...)并为拾取的对象分配时间戳。

最好的,

【讨论】:

您能否详细说明您是如何遍历父对象来更新时间戳的?

以上是关于核心数据“修改”时间戳的主要内容,如果未能解决你的问题,请参考以下文章

sql语句关于时间与时间戳

如何将数据从时间戳修改为每个用户每天的消耗量?

iPhone - 核心运动时间戳

文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

oracle时间戳设置

高并发状态下修改数据库的操作