1. 通知中心认识

通知中心实际上是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通信,它只能进行程序内部通信,不能跨应用程序进程通信。通知中心,当通知中心接受到消息后会根据设置,根据内部的一个消息转发表,将消息转发给订阅者。通知中心是基于观察者模式的,它允许注册、删除观察者。通知中心与代理模式类似,都可以实现多个对象间通信,通知中心可以将一个通知发送给多个监听者,而代理模式每个对象只能添加一个代理。但无论是那种模式,都是一种低耦合的设计,实现对象间的通信。

2. 通知中心的使用

第一步:注册通知中心(就是谁去接受广播)

// 参数1 谁去就收广播的消息

// 参数2 接收到广播后要执行的操作

// 参数3 接受哪个广播(也是就广播的标识)

[[NSNotificationCenter defaultCenter]  addObserver:self selector:@selector (runSel:) name:@"MCJ" object:nil];

第二步:发送广播 这个方法一般在其他对像有什么变数时 在其他对象里写

// 参数1 给广播添加标识(在接受广播的地方,可以通过这个值区分不同的广播)

// 参数 2 需要传递的参数 没有的话可以传nil

[NSNotificationCenter defaultCenter] postNotificationName:@" MCJ" object:array];

第三步: 实现接收到广播后要执行的方法,如果有参数需要加上(NSNotification *)sender

sender.object 就是我们传过来的参数

- (void)runSel: (NSNotification *)sender {

    NSArray *array =
sender.object;
    _nameLable.text = array[0];

    _passwordLabel.text =
array[1];
    self.view.backgroundColor
= [UIColor redColor];
}

第四步:移除通知(有两种方式)

- (void)dealloc {

// 移除指定的通知中⼼心

    [[NSNotificationCenter
defaultCenter]
removeObserver:self
name:@"MCJ" object:nil];

// 移除所有的通知中⼼心

    [[NSNotificationCenter
defaultCenter]
removeObserver:self];
}

最新文章

  1. Spring.NET的AOP怎么玩
  2. Chap2: question: 1 - 10
  3. SQL Server中数据库文件的存放方式,文件和文件组
  4. LintCode "Coins in a Line"
  5. AS3.0的动态类和密封类
  6. Kent Beck揭秘Facebook开发部署流程
  7. Surprising Strings(map类)
  8. OSChina 其中很重要的一类——RequestContext
  9. hdu1405 第六周J题(质因数分解)
  10. Git系列(1) Windows下Git服务器搭建
  11. 从手工测试逆袭为NB自动化测试的学习路线
  12. mysql数据类型简介
  13. Fast Walsh-Hadamard Transform——快速沃尔什变换
  14. 【Zookeeper】3.4.9 基本配置
  15. js 里面的各种类型转换
  16. python笔记06-10
  17. 实时显示数据 SignalR 及时消息提醒( 立即向其推送内容)
  18. Eclipse搭建服务器,实现与Android的简单通信
  19. [2017BUAA软工助教]案例分析小结
  20. Bash 中的特殊字符大全【转】

热门文章

  1. PHPstorm同步文件时与ftp断开连接
  2. Chrome 开发工具之Timeline
  3. POJ2942:Knights of the Round Table
  4. ui library
  5. 仿window系统自带的日期差计算器类
  6. 图解JVM执行引擎之方法调用
  7. [AR+Vuforia]学习笔记
  8. xml解析技术
  9. permission denied to create extension "hstore"解决方案
  10. android App使用新浪微博sdk的使用总结