2011-03-12 53 views
1

我希望有人能幫助我...找出已經改變什麼實體(NSManagedObjectContextObjectsDidChangeNotification)

我的代碼看起來象

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

我想知道哪些實體不管改變刪除或更新。只是 哪個實體... 我想要做這樣的事情

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

我想不出什麼實體已經改變了...我知道有一種方法[noti userInfo]但 我不知道該怎麼做這個白衣。

THX和遺憾,對這種可怕的恩利希:)

回答

2

的的NSDictionary返回由[noti userInfo]NSManagedObjectContextObjectsDidChangeNotification可能含有鍵NSInsertedObjectsKey,NSUpdatedObjectsKey和NSDeletedObjectsKey。所以[[noti userInfo] objectForKey:NSInsertedObjectsKey]會給你插入的對象;另外兩個按鍵的工作方式相似。

請注意,可以在一個通知中插入,更新和/或刪除多個對象。

+0

thx這解決了我的問題! – Missaq 2011-03-12 08:33:40

+0

@ user656219:請注意,如果答案可解決您的問題,則應通過單擊答案左側的複選框輪廓將其標記爲「已接受」。 – Anomie 2011-03-12 13:53:56

相關問題