博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSNotificationCenter--用法例子
阅读量:5772 次
发布时间:2019-06-18

本文共 1402 字,大约阅读时间需要 4 分钟。

以前做键盘处理时,用到过键盘的通知,现在想要处理一下,当程序从后台进入前台时,能否也有一个类似的通知呢,这样对于各页面的处理都比较方便了,研究了一下,找到了一个类似的解决办法,使用NSNotificationCenter 。 其实NSNotificationCenter的使用还是挺简单的。 下面以我的程序中从后台进入前台时,通知某些页面进行刷新为例。 1. 在程序从后台进入前台时发送一个通知。(这个函数在AppDelegate里)
- (void)applicationWillEnterForeground:(UIApplication *)application{    //发送程序进入前台的通知    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];    NSLog(@"Sending notification");}
2. 在需要响应该这一通知的页面内,添加对于这个通知的注册
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];    if (self) {           //注册通知    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];    [nc addObserver:self           selector:@selector(applicationWillEnterForeground:)               name:@"applicationWillEnterForeground"             object:nil];    NSLog(@"Registered with notification center");    }    return self;}
3. 释放通知  (在该页面销毁时,
注意:千万不要忘记,否则将多次响应该通知的内容
-(void)dealloc{    //释放通知    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];    [nc removeObserver:self];    [super dealloc];}
4.执行该通知的函数  这就是你要执行的事件的函数时,比如,我需要刷新这个页面。
- (void)applicationWillEnterForeground:(NSNotification *)note{ //       [self reloadPage]; }
  好了,这样一个通知就做好,还是比较容易的。其实,这就是我们经常用到的观察者模式,也许在学习各种模式时,并不是很清楚,这东西该如何使用,看了这样的例子,我自己也清楚了一些了。    

转载于:https://www.cnblogs.com/liuxingzi/archive/2013/02/16/3404316.html

你可能感兴趣的文章
android 模拟器 横竖屏切换
查看>>
centos7.3 下安装 composer,解决Failed to decode zlib stream错误
查看>>
Git 常用命令
查看>>
在Postgres 数据库中生成36位的UUID代码
查看>>
基于mybatis的BaseDao及BaseService深度结合
查看>>
从程序员进阶到架构师,6大核心技能要领详解
查看>>
CDH安装方法
查看>>
spring mvc+Ajax跨域请求-CORS方式
查看>>
Windows 8.1 下硬盘方式安装 Ubuntu 14.04
查看>>
SpringMVC+Shiro权限管理
查看>>
Python中的模块导入
查看>>
Springboot + mongoDB : So easy
查看>>
mybitis 使用记录
查看>>
关于构造函数 和 析构函数 能否抛出异常的讨论
查看>>
haproxy负载均衡和配合keepalived的快速部署
查看>>
WIN10+RTX2070 tensorflow-gpu环境搭建
查看>>
小黑小波比.功能测试登录用户
查看>>
Java enum用法详解
查看>>
去云端的多条途径
查看>>
Docker容器从一知半解到入门
查看>>