找出实体已更改的内容(NSManagedObjectContextObjectsDidChangeNotification)

时间:2011-03-12 01:05:23

标签: iphone objective-c ios notifications

我希望有人可以帮助我...

我的代码看起来像这样

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(makeSomeThing:) name:NSManagedObjectContextObjectsDidChangeNotification
         object:nil];

我想知道哪个实体已更改,无论删除还是更新。只是 哪个实体...... 我想做那样的事情

-(void)makeSomeThing: (NSNotification *)noti
{
    if(entity == CarEntity)
        NSLog(@"makeSomeThing");
}

我无法弄清楚实体已经改变了......我知道有一种方法[noti userInfo]但是 我不知道该做什么。

对于这个可怕的英格利奇而言,对不起:)

1 个答案:

答案 0 :(得分:2)

[noti userInfo]NSManagedObjectContextObjectsDidChangeNotification返回的NSDictionary可能包含键NSInsertedObjectsKey,NSUpdatedObjectsKey和NSDeletedObjectsKey。所以[[noti userInfo] objectForKey:NSInsertedObjectsKey]将为您提供插入的对象;其他两个键的工作方式相似。

请注意,可以在一个通知中插入,更新和/或删除多个对象。