zoukankan      html  css  js  c++  java
  • 通知、广播

    IOS
         1.通知中心(广播
    NSNotificationCenter)【同步响应】
            注册监听通知:
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(write1:) name:@"ccc" object:nil];
            发送通知:
    [[NSNotificationCenter defaultCenter] postNotificationName:@"ccc" object:nil];     
            此乃在单个应用中进行数据通信传递的一种方式,只能在同一个应用(进程)中,应用之间无法用此通信,(其实质就是一个存在于该应用中的一个单例对象, 通知实际响应的方法所在哪一个线程是根据发送方【
    postNotificationName】当前所在的线程决定的;即postNotificationName在主线程,则之前add的响应执行方法就在主线程,postNotificationName在子线程,则响应方法在对应子线程执行,而不管之前addObserver是在主线程里添加的还是子线程里添加的,这点很重要。并且各个通知的响应顺序是按照之前addObserver添加的顺序阻塞执行【一个执行完才执行下一个,并且会阻塞当前的线程】,postNotificationName对应的响应方法不执行完毕,其后面的代码是不会跟着执行的,Notification不会额外创建新的线程)
         2. 通知队列(
    NSNotificationQueue)【异步响应】
             参考:http://www.cnblogs.com/xiaouisme/archive/2012/04/06/2434753.html
             2.1  什么时候使用同步的通知,什么时候使用异步的通知?
                    当我们需要确保某通知对应的响应方法必须被执行时使用同步
                    当我们对某通知对应的响应方法不大关心时使用异步
         3. 分布式通知中心(
    NSDistributedNotificationCenter
               这个主要运用在MAC应用上  iPhone应用没开放,即应用程序间的通知
         4.本地通知
             类似于一个系统级别的定时器,当到一定时间触发一个通知(横幅、弹框等),如手机上的《提醒事项》应用的提醒功能
         5.推送通知(APNS)
             也即所说的远程通知,即当应用不在前台运行或关闭的情况下也能接收来自苹果推送服务器的消息,这是苹果所特有的一种方式

    ANDROID
           1.广播-----
    Broadcast
              类似于IOS中得通知中心,只不过andriod的广播更加强大,其本身就是一个系统级别的,因此不仅是在应用内,应用与系统之间、应用与应用之间都能够互相发送和接收广播,从而传递数据信息
          2.本地通知
              andriod也有本地通知,
    Notification —— 通知    功能性质类似于ios的
  • 相关阅读:
    12_常用类
    MyBatis_02 框架
    MyBatis_01 框架
    正则表达式
    11_异常处理
    产品经理成长之路(非原创)
    【Java每日一题】20161115
    【Java每日一题】20161114
    【Java每日一题】20161111
    【Java每日一题】20161110
  • 原文地址:https://www.cnblogs.com/cnsec/p/11515790.html
Copyright © 2011-2022 走看看