所以我有一个方法:
-(void)didLoginWithAccount(MyAccount *)account
我在这个方法中添加了一个观察者,比如
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didLoginWithAccount:)];
我的问题是,当我发布通知时,如何传递 MyAccount 对象?
所以我有一个方法:
-(void)didLoginWithAccount(MyAccount *)account
我在这个方法中添加了一个观察者,比如
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didLoginWithAccount:)];
我的问题是,当我发布通知时,如何传递 MyAccount 对象?
当您收到通知回调时,会传递通知对象,而不是显式传递对象。
第一步,注册:
[[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];
}