NSNotification学习笔记
来源:互联网 发布:九年级英语unit4知 编辑:程序博客网 时间:2024/06/08 02:47
这是一个观察者模式。
首先在你需要监听的类中加入观察者:
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject;
这个观察者在监听到anObject发送名字为aName的notification时,调用selector的方法,在aSelector方法中得到userInfo。
anObject表示从谁那儿发送出来的消息。
一般的selector中的方法可以这么写:
- (void)method: (NSNotification:)sender
{
NSDictionary *dict = [sender userInfo];
}
也就是说监听到了anObject发出消息,消息的名字是aName,此时observer就调用aSelector方法,把notification的userInfo拷贝到本地。
然后在被监听的类中发送通知:
可以使用一下三个方法:
- (void)postNotification:(NSNotification *)notification;
- (void)postNotificationName:(NSString *)aName object:(id)anObject;
- (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
anObject表示谁发送了这个消息。
第一个方法直接把定义好的notification发出,notification的初始化方法如下:
+ (id)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)userInfo
第二个方法只定义了消息名和发消息者,没有传递实际的参数,貌似也可以把anObject自身作为消息传递出去,这个还没有搞懂。差不多就是作为observer可以回调poster。
第三个方法指定消息名称,发消息者,并且传递了userInfo。也就相当于初始化了一个notification,并且用第一个方法发出。
如果object:nil表示以广播方式发消息或者得到消息,这个时候只要消息名字是对的就可以得到这个消息。
object:用来表示 谁发送的消息,或者从谁得到消息。
参数应该在userInfo里面传递。
NSNotification的作用是在同一程序的不同类中传递参数,传递的方法是把参数放在NSDictionary类型的userInfo中。
NSNotificationCenter的作用:我的理解就是一个中转站,每个对象都有自己的
首先在你需要监听的类中加入观察者:
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject;
这个观察者在监听到anObject发送名字为aName的notification时,调用selector的方法,在aSelector方法中得到userInfo。
anObject表示从谁那儿发送出来的消息。
一般的selector中的方法可以这么写:
- (void)method: (NSNotification:)sender
{
NSDictionary *dict = [sender userInfo];
}
也就是说监听到了anObject发出消息,消息的名字是aName,此时observer就调用aSelector方法,把notification的userInfo拷贝到本地。
然后在被监听的类中发送通知:
可以使用一下三个方法:
- (void)postNotification:(NSNotification *)notification;
- (void)postNotificationName:(NSString *)aName object:(id)anObject;
- (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
anObject表示谁发送了这个消息。
第一个方法直接把定义好的notification发出,notification的初始化方法如下:
+ (id)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)userInfo
第二个方法只定义了消息名和发消息者,没有传递实际的参数,貌似也可以把anObject自身作为消息传递出去,这个还没有搞懂。差不多就是作为observer可以回调poster。
第三个方法指定消息名称,发消息者,并且传递了userInfo。也就相当于初始化了一个notification,并且用第一个方法发出。
如果object:nil表示以广播方式发消息或者得到消息,这个时候只要消息名字是对的就可以得到这个消息。
object:用来表示 谁发送的消息,或者从谁得到消息。
参数应该在userInfo里面传递。
NSNotification的作用是在同一程序的不同类中传递参数,传递的方法是把参数放在NSDictionary类型的userInfo中。
NSNotificationCenter的作用:我的理解就是一个中转站,每个对象都有自己的
- NSNotification学习笔记
- NSNotification学习笔记
- NSNotification学习笔记
- NSNotification学习笔记
- iOS通知学习笔记(NSNotification)
- 学习NSNotification经历
- IOS中NSNotification使用笔记
- NSNotification
- NSNotification
- NSNotification
- NSNotification
- NSNotification
- NSNotification
- NSNotification
- NSNotification
- NSNotification
- NSNotification
- NSNotification
- 64位linux下oracle安装卡进度条
- Qt连接数据库
- No17、题目:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。
- [android]消息的小图标提醒
- Hadoop 执行jps后没有namenode和datanode
- NSNotification学习笔记
- adb shell 命令详解
- JAVA 集合框架 共性方法和迭代器
- live555 在VS2012下的编译 http://jeekun.sinaapp.com/archives/144
- Linux 查看内存,负载状态
- [android] 绘制统计图
- git下载地址以及centos安装方法
- 字符串字面值、C风格字符串、C++风格字符串 一、字符串字面值
- 上下界网络流