最近刚换了公司,公司的项目是13年建的。老项目了,已经做到5.0版本了。非ARC的。那个蛋疼呀。
我要说的是:当你对当前项目的业务逻辑不太清楚的时候,消息传递的方式就显的尤为重要了。
大家都知道IOS中消息传递的4个方法:
1.代理委托协议
2.block
3.KVO
4.通知
上面的3个我就先不说了,今天只谈通知。
通知的基本使用:
1)从通知中心发出一个通知。(带参数的)
NSDictionary *dict = @{@"bage": [NSStringstringWithFormat:@"%d",self.bage]};
[[NSNotificationCenterdefaultCenter] postNotificationName:@"pushget"object:niluserInfo:dict];
2)在需要监听这个通知的控制器的viewdidload方法中,添加观察者。也就是谁来监听这则通知
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(pushget:)name:@"pushget"object:nil];
3)实现2中的pushget方法。为什么要实现,因为一旦通知中心将通知发出,那么控制器就会调用pushget方法。
- (void)pushget:(NSNotification *)note
{
NSString *bage = note.userInfo[@"bage"];//传过来的参数在note.userInfo中。
NSLog(@"通知 :%@",bage);
}