iOS软件开发的时候会遇到这种情况:打开APP后会在后台运行某个方法,例如下载文件,下载完成后可能需要调用某个方法来刷新界面,这时候可能没法在下载的函数中回调。NSNotificationCenter(通知)是一个很好的选择。
通知使用起来非常的简单:
1. 定义将要调用的方法:
- (void)callBack{ NSLog(@"this is Notification."); }
2. 定义通知:
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(callBack) name: @"back" object: nil];
3. 调用通知:
- (void)getNotofocation{ NSLog(@"get it."); //发出通知 [[NSNotificationCenter defaultCenter] postNotificationName:@"back" object:self]; }
- (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self name:@"back" object:nil]; [super dealloc]; }
在调用通知的时候程序会在整个项目中寻找此通知的名称,找到后发出请求,因此通知的名称需要在整个项目中唯一。
|