NSNotification --关于通知
一、
通知(NSNotification)的发送(Post)和注册(add)都必须借助于通知中心(NSNotificationCenter)
发送通知:
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center postNotificationName:@"通知名字" object:self userInfo:@{@"key":@"object"}];
发送的通知中:
1.NotificationName是这则通知的名字,
2.object通常写self(可以在通知的接受者中提取到这个,实现回调,)
3.userInfo是一个字典用来存放传输的数据
注册通知接受者:(第一种方法)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(change:) name:@"通知名字" object:nil];
//接受所有名字是"通知名字"的通知
注册通知接受着:(第二种方法)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(change:) name:nil object:self];
只接受object:后面带参数的人所发出的通知
以下两端是从 http://blog.csdn.net/zhanglei5415/article/details/6454940 摘抄的代码和解释
- (void)addObserver:(id)anObserver
selector:(SEL)aSelector
name:(NSString *)notificationName
object:(id)anObject
注册anObserver对象:接受名字为notificationName, 发送者为anObject的notification. 当anObject发送名字为notificationName的notification时, 将会调用anObserver的aSelector方法,参数为该notification. 如果notificationName为nil. 那么notification center将anObject发送的所有notification转发给observer
. 如果anObject为nil.那么notification center将所有名字为notificationName的notification转发给observer
那么有通知的注册(add),就必须有通知的销毁(remove),下文中很好的提到了销毁时的注意事项等
http://www.jianshu.com/p/a4d519e4e0d5
NSNotification --关于通知的更多相关文章
- IOS NSNotification Center 通知中心的使用
通知中心,它是IOS程序内部的一种消息广播机制,通过它,可以实现无引用关系的对象之间的通信.通知中心他是基于观察者模式,它只能进行程序内部通信,不能跨应用程序进程通信.当通知中心接受到消息后会根据设置 ...
- NSNotification 消息通知的3种方式
1.Notification Center的概念: 它是一个单例对象,允许当事件发生时通知一些对象,让对象做出相应反应. 它允许我们在低程度耦合的情况下,满足控制器与一个任意的对象进行通信的目的. 这 ...
- 1.NSNotification|远程通知|本地通知|激光推送
1. 通知在iOS中应用非常广泛,合理的应用通知可以减少冗余代码,使我们的代码层次结构变了更加的清晰明了,利于程序猿读写.它主要分为不可见通知可见通知两种: 1.1 不可见通知,主要是有系统发出的 ...
- Object-C — KVO & oc通知
键值观察(KVO)是基于键值编码的一种技术. 利用键值观察可以注册成为一个对象的观察者,在该对象的某个属性变化时收到通知. 被观察对象需要编写符合KVC标准的存取方法,编写键值观察分为以下三步: (1 ...
- iOS开发之通知机制
1.通知中心 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification), ...
- iOS 设计模式-NSNotificationCenter 通知中心
通知介绍 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification),描述 ...
- iOS边练边学--通知机制和键盘处理小练习
一.发送通知 NSNotification *note = [NSNotification notificationWithName:@"通知的名称,随便写,例如:你妈叫你回家吃饭" ...
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
- iOS 底层框架的浅析
1.简介 IOS是由苹果公司为iPhone.iPod touch和iPad等设备开发的操作系统. 2.知识点 iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设 ...
随机推荐
- jquery change dropdownlist selected option
<select name="corporation"> <option value="1">corporation1</optio ...
- Redis_DataType
Redis_DataType.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,. ...
- WPF 大数据加载过程中的等待效果——圆圈转动
大家肯定遇到过或将要遇到加载大数据的时候,如果出现长时间的空白等待,一般人的概念会是:难道卡死了? 作为一个懂技术的挨踢技术,即使你明知道数据量太大正在加载,但是假如看不到任何动静,自己觉得还是一种很 ...
- U盘安装WIN10专业版
安装环境1个SSD,2个SATA盘. 安装时把2个SATA盘拔掉,并使SSD在BISO中的地位为0区的MASTER,否则安装时会出现,无法创建当前分区,和新建当前分区. 步骤:下载win10正式专业版 ...
- mysql 存储过程 游标 判断游标是否为空
BEGIN DECLARE id long; DECLARE Done INT DEFAULT 0; DECLARE cashamount DECIMAL(10,2) DEFAULT 0.00; DE ...
- win8 系统无法正常安装.net framework 2.0和3.0框架如何解决
在安装.net framework2.0框架的时候一直提示要用户从网上面下载框架,你点击下载好的安装包也是无法安装的.这个时候就需要你使用离线的安装包来进行问题的解答附件在此http://pan.ba ...
- Emmet (Zen Coding) HTML基本语法
1. 嵌套操作---------- 子操作: > div>ul>li 并列:+ div+ul>li 上级:^ ul>li^div ul>li>a^ ...
- VS2010 使用WebService
vs2010上面找不到直接创建webservice模板方式了.可以通过一下方式创建. 1.如果直接选择 .NET 4.0,可以选择 ASP.NET Empty Web Site/Application ...
- C# basic
1. output Console.WriteLine("hello world"); 2. naming convention variable: start with lowe ...
- 【学习笔记】Y2-1-1 Oracle数据库基础
Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...