美文网首页
5.1 NSNotification(通知机制) - 斯坦福 i

5.1 NSNotification(通知机制) - 斯坦福 i

作者: 以太死多 | 来源:发表于2016-05-17 21:33 被阅读75次

MVC中的广播站机制,常用于控制器(Control)和模型(Model)之间的的盲通信.

如何收听广播?


  • 1.创建单例

      //返回一个类似于 NSUserDefault 的共享实例(单例),就用这个对象来收听广播
      [NSNotificationCenter defaultCenter] 
    
  • 2.调用单例方法

      /*
      使用"通知"进入监听系统广播
      Observer(id)observer: 想要收听广播的对象(一般都是 self )
      selector(SEL)methodToInvokeIfSomethingHappens: 收到通知后要调用的方法
      name(NSString *)name: 你要收听的广播站
      object(id)sender: 是否想只收听某个特定对象发出的广播
      */
          [[NSNotificationCenter defaultCenter] addObserver:self
                                           selector:@selector(preferredFontsChanged:)
                                               name:UIContentSizeCategoryDidChangeNotification
                                             object:nil];
    
  • 3.创建收到通知后,要响应的方法

      - (void)preferredFontsChanged:(NSNotification *)notification{
    
      /*
      notification对象有三个属性:
      notification.name: 广播站名称
      notification.object: 向你发送这个通知的对象(就是 addObserver 方法中的 sender)
      notification.userInfo: 是一个 ID 取决于广播站
      */
    
          [self usePreferredFonts];
      }
    
  • 4.在 view 将要退出显示的时候要,停用一些服务和操作,减少 CUP 占用(包括移除通知)

      - (void)viewWillDisappear:(BOOL)animated{
    
          [super viewWillDisappear:animated];
    
          //移除监听, 用于控制内存
          [[NSNotificationCenter defaultCenter] removeObserver:self
                                                  name:UIContentSizeCategoryDidChangeNotification
                                                object:nil];
    }
    
  • 5.最后在 dealloc 中移除通知(但是不建议使用)

    //最后的保险做法
    - (void)dealloc{
    
        [[NSNotificationCenter defaultCenter] removeObserver:self];
    }

相关文章

  • 5.1 NSNotification(通知机制) - 斯坦福 i

    MVC中的广播站机制,常用于控制器(Control)和模型(Model)之间的的盲通信. 如何收听广播? 1.创建...

  • iOS 中通知机制NSNotification

    iOS 中通知机制详解 NSNotification 通知的对象,一条通知就是一个NSNotification对象...

  • iOS中的NSNotification

    NSNotification概念 通知(NSNotification)是在程序中实现协调和内聚的强大机制,它减少了...

  • OC底层

    一、通知(NSNotification) 如何实现通知机制? 二、属性关键字 1.读写权限:readonly,re...

  • iOS开发基础:消息传递机制的不同与缺陷

    iOS中的消息传递机制有以下几种: 代理(Delegation) 通知(NSNotification) BLOCK...

  • NSNotification

    发通知 NSNotification *deleteMyCommemtN =[NSNotification not...

  • IOS推送

    推送: 用户被动的接收消息,是程序在后台的一种通知机制推送通知跟NSNotification不同1.NSNotif...

  • 通知(NSNotification)

    一、通知的特性 NSNotification是苹果提供的一种”同步“单向且线程安全的消息通知机制(并且消息可以携带...

  • 推送通知-本地推送

    iOS推送通知 注意:这里说的推送通知跟NSNotification有所区别 NSNotification是抽象的...

  • iOS 推送后台语音播报

    推送通知 注意:这里说的推送通知跟NSNotification有所区别 NSNotification是抽象的,不可...

网友评论

      本文标题:5.1 NSNotification(通知机制) - 斯坦福 i

      本文链接:https://www.haomeiwen.com/subject/vpwirttx.html