所以我有一个方法:

-(void)didLoginWithAccount(MyAccount *)account


我向这种方法添加了一个观察者,例如

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


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

最佳答案

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

步骤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];
}

08-05 22:16