IOS学习之NSNotificationCenter消息机制
NSNotificationCenter是 Cococa消息中心,统一管理单进程内不同线程的消息通迅。
添加观察者接收通知:
//添加通知中心观察者
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(testMethod:) name:key object:self.person];
参数说明:
addObserver: 观察者,谁来接收通知;
selector: 收到通知后调用的方法;
name: 注册所观察通知的名字
object: 订阅该通知的对象,如果设置为nil 则接收所有通知
移除注册观察者:
//移除某个指定的观察者
[[NSNotificationCenter defaultCenter] removeObserver:self name:key object:self.person]; //移除所有观察者
[[NSNotificationCenter defaultCenter] removeObserver:self];
发送通知:
//发送带参数的通知
NSDictionary *dic =@{@"":@,@"":@};
[[NSNotificationCenter defaultCenter] postNotificationName:key object:self.person userInfo:dic];
//发送不带参数的通知
[[NSNotificationCenter defaultCenter] postNotificationName:key object:self.person]; //发送通知对象
NSNotification *notification =[[NSNotification alloc]initWithName:key object:self.person userInfo:nil];
[[NSNotificationCenter defaultCenter]postNotification:notification];
参数说明:
postNotificationName:通知名字 ,和注册通知观察者名字一致
object:通知的发送者
userInfo:通知传递的参数
接收通知:
//收到通知后调用方法
-(void)testMethod:(NSNotification*)notification
{
NSLog(@"notification----->%@",notification);//接收到的通知对象
id sender =[notification object];//获取发送者对象
NSLog(@"sender----->%@",sender );
NSDictionary *userInfo=[notification userInfo];//获取传递参数
NSLog(@"userInfo----->%@",userInfo ); }
使用场景:
1.不同页面之间的通知传值
IOS学习之NSNotificationCenter消息机制的更多相关文章
- IOS开发-通知与消息机制
在多数移动应用中不论什么时候都仅仅能有一个应用程序处于活跃状态.假设其它应用此刻发生了一些用户感兴趣的那么通过通知机制就能够告诉用户此时发生的事情. iOS中通知机制又叫消息机制,其包含两类:一类是本 ...
- Android学习笔记之消息机制
Android的消息机制主要是指Handler的运行机制以及Handler所附带的MessageQueue和Looper的工作过程. 1.为什么要使用Handler? Android规定访问UI只 ...
- NSNotificationCenter消息机制的介绍
转载自http://www.cnblogs.com/pengyingh/articles/2367374.html NSNotificationCenter的作用是专门提供程序中不同类之间的消息通讯而 ...
- iOS设计模式之NSNotificationCenter 消息中心
消息中心模式和KVO模式有点相似,差别在于.KVO 模式是意图在于监听摸一个相应的值的变化.而去出发一个方法相应的动作.而消息中心在于,广播.它就像一个广播基站,发送一条消息,在全部的加入监听的地方 ...
- obj-c编程01[扩展学习01]:对象消息机制工作原理
obj-c中的类就像C语言中的struct.NSObject类声明一个成员变量isa,因为NSObject类是整个继承树的根,所以每个类中都有一个isa其指向创建的对象.在类结构中有实例变量(成员变量 ...
- Android消息传递之Handler消息机制
前言: 无论是现在所做的项目还是以前的项目中,都会遇见线程之间通信.组件之间通信,目前统一采用EventBus来做处理,在总结学习EventBus之前,觉得还是需要学习总结一下最初的实现方式,也算是不 ...
- Android消息机制(1)
在Android中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易.更好地架构系统,避免一些低级的错误.在学习Android中消息机制之前,我 ...
- IOS 消息机制(NSNotificationCenter)
消息机制 NSNotificationCenter 一直都在频繁使用,但是却对其原理不是十分了解.今天就花些时间,把消息机制原理重头到尾好好过一遍. iOS 提供了一种 "同步的" ...
- iOS NSNotificationCenter(消息机制)
转自:http://blog.csdn.net/liliangchw/article/details/8276803 对象之间进行通信最基本的方式就是消息传递,在Cocoa中提供Notificatio ...
随机推荐
- 【第二课】WEBIX 入门自学-获取WEBIX及相关资料
下载WEBIX组件库 http://webix.com/download/ WEBIX在线文档 http://docs.webix.com/ 离线的手册 下载
- LINUX常见问题
FQA1:如何进入linux单用户模式修改root密码 进入单用户模式:1. grub进入启动画面之后,敲入“e”,把光标移动到kernel ...那一行,再敲入“e”,在kernel 一行的最后加上 ...
- 一些gcd计数问题
数论什么的全都忘光了吧QAQ 做了几道简单的题练习一下. bzoj1101: [POI2007]Zap 求有多少对数满足 gcd(x,y)=d, 1<=x<=a, 1<=y<= ...
- 【Beta】Daily Scrum Meeting第六次
1.任务进度 学号 已完成 接下去要做 502 无 发布任务到服务器 509 给所有api添加注释 将各个api改为面向对象 517 无 删除任务的控件及逻辑 530 下拉刷新控件 添加及修改职工信息 ...
- Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)
本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...
- 利用sqlmap进行mysql提权的小方法(win与liunx通用)
文章作者:pt007@vip.sina.com文章来源:https://www.t00ls.net/thread-36196-1-1.html1.连接mysql数据打开一个交互shell:sqlmap ...
- go中安装Beego不成功笔记
在go.Git等等之类的相关软件安装好了之后,便可以安装Beego. 1.开始的时候是由于网络限制,不能访问Github,这个还好说找VPNFQ... 2.之后的问题,在git Bash中输入go g ...
- VS 默认开发环境如何更改
话不多说,直接上图
- Ring0打开其他设备对象三种方式整理
1.通过ZwCreateFile打开其他设备的Handle,此函数只能得到句柄.ZwCreateFile与NtCreateFile区别在于NtCreateFile更加底层,ZwCreateFile是基 ...
- Android课程---简单的音乐播放器
第一个:用Activity实现 activity_music_play1.xml <?xml version="1.0" encoding="utf-8" ...