通知中心 NSNotificationCenter
NSNotificationCenter
通知中心提供了一种在程序内广播信息的途径,一个NSNotificationCenter对象本质上是一个通知分发表(notification dispatch table)。
每一个运行中的Cocoa程序有一个默认的通知中心,一般不用自己创建。一个NSNotificationCenter对象仅仅可以在一个单独的程序中传送通知,如果想要在不同进程中发送、接受通知,使用NSDistributedNotificationCenter的实例。
- (void)addObserver:(id)notificationObserver
selector:(SEL)notificationSelector
name:(NSString *)notificationName
object:(id)notificationSender
向接收者的分发表添加一条记录,后边两个参数可选。
notificationObserver 作为观察者,不能为nil;
notificationSelector sorry,翻译不清了。当接收者post通知时,观察者会执行这个参数指定的消息。
notificationName 用于注册观察者的通知的名字,也就是说,只有用这个名字的通知被投递给这个观察者。如果传入nil,通知中心不用通知的名字决定是否把它投递给观察者。
notificationSender 通俗的说,就是观察者愿意接收谁的通知。如果传入nil,通知中心不用通知的sender决定是否投递给观察者(shit,真绕,其实就是接收所有sender发送的通知,第三个参数也一样)。
注意:务必保证在观察者dealloc前,调用removeObserver:name:object:来移除观察者。
- (void)postNotification:(NSNotification *)notification
给接收者post一个给定的通知。参数notification不能为nil。
- (void)postNotificationName:(NSString *)notificationName
object:(id)notificationSender
userInfo:(NSDictionary *)userInfo
notificationSender post通知的对象;
userInfo 关于通知的信息,可以使nil。
NSNotification
NSNotification对象封装信息以便于NSNotificationCenter对象把它广播给其他对象。一个通知包含一个名字、一个对象和一个可选的字典。名字是用来识别通知的一个标识。这个对象是通知的poster想要发送给这个通知观察者的对象(一般,是这个对象post这个通知)。这个字典存储任何关联的对象。通知中心对象是不可变的。
通知中心 NSNotificationCenter的更多相关文章
- 通知中心NSNotificationCenter的使用
通知中心NSNotificationCenter的使用 Cocoa框架中,通知中心以及KVO都属于设计模式中的观察者. Source 在使用通知中心之前,对通知中心类进行了简单的封装,以便可读性更强. ...
- iOS中通知中心NSNotificationCenter应用总结
通知中心(NSNotificationCenter)实际是在程序内部提供了一种广播机制.把接收到的消息,根据内部的消息转发表,将消息转发给需要的对象.这句话其实已经很明显的告诉我们要如何使用通知了.第 ...
- iOS 通知中心 NSNotificationCenter
iOS开发中,每个app都有一个通知中心,通知中心可以发送和接收通知. 在使用通知中心 NSNotificationCenter之前,先了解一下通知 NSNotification. NSNotific ...
- iOS开发之通知中心(NSNotificationCenter)
前言 面向对象的设计思想是把行为方法封装到每一个对象中,以用来增加代码的复用性.正是这种分散封装,增加了对象之间的相互关联,总是有很多的对象需要彼此了解以及相互操作! 一个简单示例说明这种交互产生的对 ...
- iOS基础 - 通知中心(NSNotificationCenter)
通知中心(NSNotificationCenter) 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发 ...
- IOS中通知中心(NSNotificationCenter)
摘要 NSNotification是IOS中一个调度消息通知的类,采用单例模式设计,在程序中实现传值.回调等地方应用很广. IOS中通知中心NSNotificationCenter应用总结 一.了 ...
- 通知中心 NSNotificationCenter 的简单使用方法
NSNotificationCenter(通知中心) [注意]需再dealloc中移除观察者 获取通知中心单例对象 NSNotificationCenter *center=[NSNotifi ...
- iOS中通知中心(NSNotificationCenter)的使用总结
一.了解几个相关的类 1.NSNotification 这个类可以理解为一个消息对象,其中有三个成员变量. 这个成员变量是这个消息对象的唯一标识,用于辨别消息对象. @property (readon ...
- iOS 设计模式-NSNotificationCenter 通知中心
通知介绍 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification),描述 ...
随机推荐
- Asp.net 主题 【2】
通常我们经常看到网页,一些软件提供换肤功能,各种主题间切换.ASP.NET 2.0 中可以用Theme和skin以及CSS轻松实现这个功能. 首先简单介绍一下三种技术:主题(Theme)技术,面板(s ...
- JavaScript--数组--sort比较器
因为原装的sort这个API其实是先把要比较的数转换为字符串再进行比较的,所以并不好用 所以准备自定义一个比较器函数: //sort原理--->sort(arr,compare) functio ...
- Python文件之----XML
#coding=utf-8 from xml.dom import minidom from xml.dom.minidom import Document import xml def writeX ...
- cocos2d-x 音乐播放猜想
"SimpleAudioEngine.cpp": void SimpleAudioEngine::playBackgroundMusic(const char* pszFilePa ...
- 【NEERC 2003】有向图破坏
[题目描述] Alice和Bob正在玩如下的游戏.首先Alice画一个有N个顶点,M条边的有向图.然后Bob试着摧毁它.在一次操作中他可以找到图中的一个点,并且删除它所有的入边或所有的出边. Alic ...
- TCP/IP-IP
A contented mind is a perpetual feast. "知足长乐" 参考资料:TCP/IP入门经典 (第五版) TCP/IP详解 卷一:协议 一.简介 IP ...
- Java简介(4)-关键字
abstract assert boolean break byte byte case catch char class const continue default do-while double ...
- js学习笔记之:数组(一)
今天来学习一下js中的一维数组.二维数组,以及数组的赋值.遍历.删除.排序等操作: 1 数组的声明 js提供了一个数组对象Array,默认是一维数组,其申明的方法如下: var aCity = ...
- 基于OSGi的企业级快速开发平台(开源)
模块化.插件化是未来的主流趋势,他很好的解决了,公司知识的积累.应用分发.商务模式.快速构建等一系列问题,国外著名的插件化平台JIRA就非常成功,国内的目前很多公司在偿试插件化的开发模式,作为平台推出 ...
- 在vs中连接sql的几种连接方式
sql身份验证:Data Source=.;Initial Catalog=DBName;UID=sa;Pwd=pwd windows身份验证:Data Source=.;Initial Catal ...