消息机制
http://www.cocoachina.com/ios/20150318/11364.html(消息机制的链接)
通知中心:
#import "KCMainViewController.h"@interface KCMainViewController ()@end@implementation KCMainViewController- (void)viewDidLoad { [super viewDidLoad]; [self addObserverToNotificationCenter]; }#pragma mark 添加监听-(void)addObserverToNotificationCenter{ /*添加应用程序进入后台监听 * observer:监听者 * selector:监听方法(监听者监听到通知后执行的方法) * name:监听的通知名称(下面的UIApplicationDidEnterBackgroundNotification是一个常量) * object:通知的发送者(如果指定nil则监听任何对象发送的通知) */ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationEnterBackground) name:UIApplicationDidEnterBackgroundNotification object:[UIApplication sharedApplication]]; /* 添加应用程序获得焦点的通知监听 * name:监听的通知名称 * object:通知的发送者(如果指定nil则监听任何对象发送的通知) * queue:操作队列,如果制定非主队线程队列则可以异步执行block * block:监听到通知后执行的操作 */ NSOperationQueue *operationQueue=[[NSOperationQueue alloc]init]; [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidBecomeActiveNotification object:[UIApplication sharedApplication] queue:operationQueue usingBlock:^(NSNotification *note) { NSLog(@"Application become active."); }];}#pragma mark 应用程序启动监听方法-(void)applicationEnterBackground{ NSLog(@"Application enter background.");}@end/** * 添加通知,注意这里设置了附加信息 */-(void)postNotification{ NSDictionary *userInfo=@{@"loginInfo":[NSString stringWithFormat:@"Hello,%@!",_txtUserName.text]}; NSLog(@"%@",userInfo); NSNotification *notification=[NSNotification notificationWithName:UPDATE_LGOGIN_INFO_NOTIFICATION object:self userInfo:userInfo]; [[NSNotificationCenter defaultCenter] postNotification:notification];//也可直接采用下面的方法// [[NSNotificationCenter defaultCenter] postNotificationName:UPDATE_LGOGIN_INFO_NOTIFICATION object:self userInfo:userInfo];}
浙公网安备 33010602011771号