目标:完成简单消息对象之间的传递
原理:
1、在通知中心(一个单例)注册观察者(接收者)
2、通过通知中心发送数据
3、观察者接收数据并处理数据
4、用完通知后移除观察者
第一步:
注册观察者
- (void)registerObserver
{
//通过NotificationCenter注册一个观察者
observerViewController = [[ObserverViewController alloc]init];
[NSNotificationCenter defaultCenter] addObserver:observerViewController selector:@selector(handNotification:) name:@"BNRNOTIFICATION" object:nil];
}
第二步:
发送通知给通知中心
- (IBAction)sendNotification:(id)sender
{
NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key1",nil];
[ [NSNotificationCenter defaultCenter] postNotificationName:@"BNRNOTIFICATION" object:nil userInfo:userInfo];
}
第三步:
观察者处理通知中心发过来的通知消息
- (void)handNotification:(NSNotification *)notify
{
NSLog(@"handNotification");
NSDictionary *dict = [notify userInfo];
NSLog(@"userInfo description = %@",[dict description]);
}
第四步:
在通知中心移除观察者
- (IBAction)removeNotification:(id)sender
{
[[NSNotificationCenter defaultCenter] removeObserver:observerViewController name:@"BNRNOTIFICATION" object:nil];
}