iOS开发之NSNotificationCenter(通知)的使用方法

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];
}
<code class="cpp plain" style="border: 0px !important; margin: 0px !important; padding: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; float: none !important; height: auto !important; line-height: 1.1em !important; overflow: visible !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; direction: ltr !important; display: inline !important;">4. 移出通知:
- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"back" object:nil];
    [super dealloc];
}
 在调用通知的时候程序会在整个项目中寻找此通知的名称,找到后发出请求,因此通知的名称需要在整个项目中唯一。

相关推荐