在不相关的两部分代码中要想进行消息传递,通知(notifacation)是非常好的一种机制,它可以对消息进行广播。特别是想要传递丰富的信息,并且不一定指望有谁对此消息关心。
通知可以用来发送任意的消息,甚至包含一个userInfo字典,或者是NSNotifacation的一个子类。通知的独特之处就在于发送者和接收者双方并不需要相互知道。这样就可以在非常松耦合的模块间进行消息的传递。记住,这种消息传递机制是单向的,作为接收者是不可以回复消息的。
实现步骤如下:
1.首先注册要接收Notification的对象到NSNotificationCenter。
在 发送者.m 中:
- (void)AddbtnClick:(UIButton *)Btn { WeekCourse *newcourse = _coursesArray[Btn.tag]; //第一步注册通知 [[NSNotificationCenter defaultCenter]postNotificationName:@"addNotification" object:newcourse]; }
2.发送Notification通知呢:
在需要传递参数的代码部分,发送消息通知
在接受者.m 中:
//第二步,通知中心,发送一条消息通知 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(add:) name:@"addNotification" object:nil];
3.处理通知
在接收者.m中:
- (void)add:(NSNotification *)notification { WeekCourse *weekcourse = notification.object; ... }
© 著作权归作者所有
文章评论(0)