ios-消息中心 NSNotificationCenter 的介绍
来源:互联网 发布:apache serveradmin 编辑:程序博客网 时间:2024/05/02 03:08
1. 通知中心概述
通知中心实际上是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通信。实际上就是一个二传手,把接收到的消息,根据内部的一个消息转发表,来将消息转发给需要的对象。通知中心是基于观察者模式的,它允许注册、删除观察者。
一个NSNotificationCenter可以有许多的通知消息NSNotification,对于每一个NSNotification可以有很多的观察者Observer来接收通知。
2. 通知中心两个重要的类
NSNotificationCenter:这是iOS中通知中心的灵魂,由该类实现了观察者模式,并给开发者提供了诸如注册、删除观察者的接口,我们可以通过一个单例来获得它的实例(注,一个程序内部只有一个NSNotificationCenter实例对象)。
NSNotification:这是消息携带的载体,通过它,可以把消息内容传递给观察者。其中:name对应消息名称标示。object一般是发送者本身、dictionary则是传递的消息内容。
3. 通知中心如何使用
这里需要额外提一点的是:发送消息不仅仅可以有用户发起,也可以是系统发起。
当我们注册了某个消息的观察者后,如果有了对应的消息,则观察者会收到相应的消息,并展开处理。这里需要注意的是,当使用完消息之后,不想在接收到消息,则需要把观察者移除,否则会出现错误。注册通知:即要在什么地方接受消息
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (mytest:) name:@" postData " object:nil];
参数介绍:
addObserver:观察者,即在什么地方接收通知;
selector:收到通知后调用何种方法,即回调函数;
name:通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。
发送通知:调用观察者处的方法。
通知中心实际上是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通信。实际上就是一个二传手,把接收到的消息,根据内部的一个消息转发表,来将消息转发给需要的对象。通知中心是基于观察者模式的,它允许注册、删除观察者。
一个NSNotificationCenter可以有许多的通知消息NSNotification,对于每一个NSNotification可以有很多的观察者Observer来接收通知。
2. 通知中心两个重要的类
NSNotificationCenter:这是iOS中通知中心的灵魂,由该类实现了观察者模式,并给开发者提供了诸如注册、删除观察者的接口,我们可以通过一个单例来获得它的实例(注,一个程序内部只有一个NSNotificationCenter实例对象)。
NSNotification:这是消息携带的载体,通过它,可以把消息内容传递给观察者。其中:name对应消息名称标示。object一般是发送者本身、dictionary则是传递的消息内容。
3. 通知中心如何使用
这里需要额外提一点的是:发送消息不仅仅可以有用户发起,也可以是系统发起。
当我们注册了某个消息的观察者后,如果有了对应的消息,则观察者会收到相应的消息,并展开处理。这里需要注意的是,当使用完消息之后,不想在接收到消息,则需要把观察者移除,否则会出现错误。注册通知:即要在什么地方接受消息
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (mytest:) name:@" postData " object:nil];
参数介绍:
addObserver:观察者,即在什么地方接收通知;
- (void)wantToListener{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(recvBroadcast:) name:@"test one" object:nil];}
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"notification", @"Name",nil]; [nc postNotificationName:@"test one" object:self userInfo:dict];
selector:收到通知后调用何种方法,即回调函数;
name:通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。
发送通知:调用观察者处的方法。
[[NSNotificationCenter defaultCenter] postNotificationName:@" postData " object:searchFriendArray];
0 0
- ios-消息中心 NSNotificationCenter 的介绍
- ios-消息中心 NSNotificationCenter
- iOS 通知中心 NSNotificationCenter(消息机制)
- iOS设计模式之NSNotificationCenter 消息中心
- 消息中心 NSNotificationCenter
- 消息中心NSNotificationCenter理解
- 消息中心 NSNotificationCenter
- 消息中心 NSNotificationCenter
- 消息中心 NSNotificationCenter
- NSNotificationCenter消息中心
- iOS-通知中心(NSNotificationCenter)的使用总结
- IOS中通知中心(NSNotificationCenter)的使用
- IOS中通知中心(NSNotificationCenter)的使用
- iOS 通知中心(NSNotificationCenter)的使用
- iOS开发:NSNotificationCenter,通知中心的使用
- IOS NSNotificationCenter消息通信机制介绍
- IOS NSNotificationCenter消息通信机制介绍
- [IOS]NSNotificationCenter消息通信机制介绍(KVO)
- android api分析31 对话框
- HDOJ 1232 畅通工程 并查集
- Linux makefile 教程 非常详细,且易懂
- sigaction函数解析
- 设计模式之原型模式 c++实现以及详解
- ios-消息中心 NSNotificationCenter 的介绍
- 路中信息竞赛No.1解题报告
- libpcre.so.0 被删除怎么办?
- sprintf,strcpy,memcpy的比较
- Android中的Handler总结
- 编辑距离问题(2)——DNA序列对齐
- Openstack 自动化部署
- Android Animation学习之 viewAnimator详解
- ASP.NET MVC4入门(七)——增加搜索方法和视图