如何获取托管对象中更新的属性/关系列表?

时间:2014-06-10 10:00:10

标签: objective-c core-data

我有一个通知处理程序。如何获取更新的属性/关系列表?

[[NSNotificationCenter defaultCenter] addObserver:[Utility class] selector:@selector(managedObjectContextDidSave:)
               name:NSManagedObjectContextDidSaveNotification object:nil];

- (void)managedObjectContextDidSave:(NSNotification *)saveNotification {
    NSArray *updated = [saveNotification.userInfo valueForKey:NSUpdatedObjectsKey];
    for (NSManagedObject *obj in updated) {

        //how to get changed attributes??
    }
}

1 个答案:

答案 0 :(得分:0)

NSManagedObject具有changedValues属性,该属性包含已更改的属性和关系,新分配的值也在字典中。并且因为托管对象也可用于NSManagedObjectContextWillSaveNotification NSManagedObjectContextDidSaveNotification,因此您可以在保存之前对托管对象进行其他修改,而无需使用NSNotification对象。