通知麻烦

时间:2013-04-05 17:44:19

标签: iphone ios nsnotificationcenter

所以我有一个方法:

-(void)didLoginWithAccount(MyAccount *)account

我在这个方法中添加了一个观察者,如

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didLoginWithAccount:)];

我的问题是,当我发布通知时,我如何传递MyAccount对象?

1 个答案:

答案 0 :(得分:1)

当您收到通知回调时,将传递通知对象,而不是显式传递对象。

第1步,注册:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didLoginWithAccount:) name:@"MyCustomNotification" object:nil];

第2步,发布:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MyCustomNotification" object:myAccount]; 

第3步,接受:

- (void)didLoginWithAccount:(NSNotification *)notification {
    MyAccount *myAccount = (MyAccount *)[notification object];
}