码迷,mamicode.com
首页 > 移动开发 > 详细

学习IOS开发UI篇--NSNotificationCenter通知中心

时间:2014-06-02 01:22:35      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

  NSNotificationCenter 较之于 Delegate 可以实现更大的跨度的通信机制,可以为两个无引用关系的两个对象进行通信。NSNotificationCenter 的通信原理使用了观察者模式;

  1. NSNotificationCenter 注册观察者对某个事件(以字符串命名)感兴趣,及该事件触发时该执行的 Selector 或 Block

  2. NSNotificationCenter 在某个时机激发事件(以字符串命名)

  3. 观察者在收到感兴趣的事件时,执行相应的 Selector 或 Block

使用通知中心的步骤:

1.注册观察者

bubuko.com,布布扣
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(selector)
                                             name:@"NOTIFICATION_NAME"
                                           object:nil];
bubuko.com,布布扣

2.激发事件(发布广播)

bubuko.com,布布扣
[[NSNotificationCenter defaultCenter] postNotificationName:@"NOTIFICATION_NAME"
                                                    object:nil];
bubuko.com,布布扣

3. 观察者会自动执行selector方法

4.当不想监听的时候取消监听(务必在对象销毁的同时进行)

bubuko.com,布布扣
一般在监听器销毁之前取消注册(如在监听器中加入下列代码):
- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}
bubuko.com,布布扣

 

 

学习IOS开发UI篇--NSNotificationCenter通知中心,布布扣,bubuko.com

学习IOS开发UI篇--NSNotificationCenter通知中心

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/zhaoyan/p/3763817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!