什么是对象的参数,nsnotification addObserver

tra*_*uan 27 iphone nsnotificationcenter

我的一个名为Message.m的类正在发布一个带有对象的通知,sentObject如下所示

NSDictionary *sentObject = [NSDictionary dictionaryWithObjectsAndKeys:draftData.arr,@"data", nil];

//Post notification to inform a receiver to reload data     
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadDuringSave" object:self userInfo:sentObject];
Run Code Online (Sandbox Code Playgroud)

DraftData.m将成为捕获通知的接收者,如下所示

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(dataReloaded:) 
                                             name:@"reloadDuringSave" 
                                           object:nil];
Run Code Online (Sandbox Code Playgroud)

对于发布通知,userInfo可以是nil 或可以是object(如本例中的sentObject类型NSDictionary).

===> :什么都别params用于在objectaddObserver方法.它可以不是零,它们是什么......

Thi*_*ilo 52

" addObserver "的"object"参数是可选的过滤器.您可以将其设置为通知的发件人,然后只会通知该发件人的事件.如果设置为"nil",您将收到此类型的所有通知(无论是谁发送的).

  • 发布通知时,必须使用作为"对象"传递的*相同对象*.不只是同一个类的另一个对象. (4认同)
  • 是的我明白我必须通过完全相同的对象发布一个noti和老实说,我不知道该怎么做:( (2认同)