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. 分布式通知中心(
NSDistributedNotificatio
nCenter
)
这个主要运用在MAC应用上
iPhone应用没开放,即应用程序间的通知
4.本地通知
类似于一个系统级别的定时器,当到一定时间触发一个通知(横幅、弹框等),如手机上的《提醒事项》应用的提醒功能
5.推送通知(APNS)
也即所说的远程通知,即当应用不在前台运行或关闭的情况下也能接收来自苹果推送服务器的消息,这是苹果所特有的一种方式
ANDROID
1.广播-----
Broadcast
类似于IOS中得通知中心,只不过andriod的广播更加强大,其本身就是一个系统级别的,因此不仅是在应用内,应用与系统之间、应用与应用之间都能够互相发送和接收广播,从而传递数据信息
2.本地通知
andriod也有本地通知,
Notification —— 通知
功能性质类似于ios的
查看全文
相关阅读:
【设计】B端图表设计
用 SpringBoot,亲自打造一个在线题库系统
玩点创意编程,发现另一个世界
Spring Security 基本介绍,初窥路径
一个课程,11个项目!爬虫初体验,快来!
黑三兵后现缓涨很危险 出现急涨有转机
JavaScript对象之get/set方法
ES6-ES11新特性
js常见设计模式
再谈promise
原文地址:https://www.cnblogs.com/cnsec/p/11515790.html
最新文章
第二节:nodejs基础用法之导入、导出、读写文件、路径等
第一节:nodejs简介/安装/用法 及 npm、nrm、VsCode的使用
第二节:ES6用法之内置对象扩展(Array、String、Set)
第一节:ES6用法之let、const、解构赋值、箭头函数、剩余参数
第二十二节:再探DbContext生命周期、配置、和几种初始化方式
第二十一节:EFCore5.0基于【Zack.EFCore.Batch 】实现批量更新/删除、横向比较性能、剖析实现原理
第二十节:EFCore5.0的新功能(变化)、性能测试、常用组件的支持、MySQL测试
第三十九节:Asp.Net Core 5.0新增功能和写法变化
第四节:剖析其它组件ComboBox、DateTimeBox、Messager用法
第二节:前端规范封装设计和基于EasyUI前端基础菜单框架的搭建(Layout、Tab、Tree)
热门文章
第一节:剖析DB设计和业务接口的编写
【NLP】狗屁不通文章生成器
【历史】我党历史时间表
【设计总结】米大师改版
【设计】表格
【数据可视化】AntV
【设计】一些设计模版
【设计】2B设计系统
【增长】B端增长案例
【设计】整体设计方案
Copyright © 2011-2022 走看看