iOS NSNotification传递带参数的通知

时间:2024-09-09 13:35:26

普通的通知使用
注册观察者

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

发送通知

[[NSNotificationCenter defaultCenter]
postNotificationName:@"ThisIsANoticafication" object:nil];

传递带参数的通知
在发送通知时设置object参数

[[NSNotificationCenter defaultCenter]
postNotificationName:@"ThisIsANoticafication" object:@{@"parameter1":@"1",@"parameter2":@"2"}];

这里传入了一个字典,那么如何在接收通知的时候得到这个字典呢

[[NSNotificationCenter defaultCenter]
addObserver:self selector:@selector(getNotificationAction:) name:@"ThisIsANoticafication" object:nil];
- (void)getNotificationAction:(NSNotification *)notification{
NSDictionary * infoDic = [notification object];
// 这样就得到了我们在发送通知时候传入的字典了
}

当然传入的参数可以是其他类型。