iOS中通知的使用

一、NSNotificationCenter简介:
NSNotificationCenter是一个单进程范围内的全局通知中心,每一个App都有一个单例的NSNotificationCenter,通过一个字符串来注册和触发通知,为不同类之间进行消息传递和函数调用提供了一种比较简单的方法,类之间的关联性比较弱。

二、NSNotificationCenter一般使用步骤
1.通过[NSNotificationCenter defaultCenter]类获取通知中心实例。
2.在想要被通知的类里面注册通知,相当于注册了一个观察者:addObserver:selector:name:object:
3.触发通知:postNotificationName:object:
4.在不需要观察者或者观察者对象释放前,移除观察者:removeObserver:name:object:

三、NSNotificationCenter需要注意的地方
1.通知中心并不retain添加进来的观察者对象,当你添加了一个观察者对象到通知中心,然后释放了观察者对象,但是没有从通知中心中移除,当通知中心向它发送消息时,会发生异常。
2.通知中心(NSNotificationCenter)只能在单进程内传送消息,如果想要在多进程内传送消息,使用NSDistributedNotificationCenter,但是这个类只能在Mac OX中使用。也就是说,ios不支持进程间的通知。
3.通知中心消息的发送是同步的,postNotification方法是在所有消息都发送完毕之后才返回的。
如果想要使用异步通知中心,要使用NSNotificationQueue类。

四、NSNotificationQueue简介
1.NSNotificationQueue对象作为通知中心(NSNotificationCenter)的一个缓冲区。
2.当一个通知中心分发通知的时候,将已经注册的通知对象放入队列,通知可以推迟到当前通知队列执行完毕或者空闲时发送。
3.重复的通知也可以合并,当有多个一样的通知存在时,只发送一次。
4.通知队列通过一个先入先出的队列维护通知(NSNotification)。当通知排到队列的前面,通知被发送到通知中心,通知中心将通知发送到所有注册的观察者对象。
5.每个线程都有一个默认的通知队列,和全局的NSNotificationCenter绑定。你可以创建你自己的通知队列,或者为通知中心和线程创建多个通知队列。

五、NSNotificationQueue使用步骤
1.创建新的或者获取现有的通知队列,都与全局通知中心绑定。
实例方法:initWithNotificationCenter:
类方法:defaultQueue
2.添加通知到通知队列:enqueueNotification:postingStyle:coalesceMask:forModes:
  从队列中删除通知:dequeueNotificationsMatching:coalesceMask:
3.当通知添加到队列中以后,通知会以队列的方式,排队发送。
  通知以异步的方式发送。

六、iOS本地通知
1.UILocalNotification,可用于iOS4.0及以上,它可以像推送服务那样弹出通知,但是只是本地触发的,非服务器端触发。
2.属性:
(1)fireDate:发送通知的时间
(2)alertBody:弹出框显示的文本
(3)alertAction:右侧按钮文本
(4)alertLaunchImage:进入程序时,启动画面的图像名称
(5)applicationIconBadgeNumber:应用图标上标的数字
(6)soundName:弹出通知时播放的声音,是应用内部的资源文件。
3.使用:[[UIApplication sharedApplication] scheduleLocalNotification:notification]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成原理201501,计算机组成原理201501.pdf

试卷代号 1254座位号rn 国家开放大学 中央广播电视大学 2014年秋季学期 开放本科 期末考试 计算机组成原理试题 2015年1月 一 选择题 每小题3分 共36分 1 下列数中最小的数是 A 101011 2 B 51 8 C 00111001 BCD D 103 16 2 两个补码数相加 只有在符号位一一一一一时有可能产生溢…

iOS零散知识点

1.通过UIDevice类的model属性可以得知当前设备是什么,比如模拟器、iPhone、iPad还是iPod。2.使屏幕不变暗:[[UIApplication sharedApplication] setIdleTimerDisabled:YES];3.UILabel多行文本(1)UILabel可以显示多行文本,它有一个属性叫numbe…

大连理工大学计算机原理实验,大连理工大学计算机原理实验第一次实验-20210406081759.pdf-原创力文档...

大连理工大学实验报告实验室(房间号) : 420 实验台号码: 班级: 电通 1402 姓名: 糜智华指导教师签字: 成绩:实验 一 汇编语言上机操作 &动态调试程序 DEBUG的使用 &运算类程序设计一、实验目的和要…

计算机硬件结构控制信息,计算机硬件的基本结构

在当前的信息社会中,计算机扮演着非常重要的角色. 以下是Baifen编辑器汇编的计算机硬件基本结构的内容. 欢迎阅读!电子数字计算机首先作为一种计算工具出现. 不难想象,如果计算机能够在没有人工干预的情况下自动完成计算,那么它必…

KVO和KVC简介

一、Key-Value-Observing--KVO(键值观察者模式)(1)简介:此机制可以在一个类中监听另外一个类的属性变化,包括我们自己的类和已有的Cocoa类库中的类。当被监听的类的属性发生了变化时,观察者会收到通知,可以针对属性变化添加自己的…

iOS中的异步和多线程概况

一、异步(1)当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。比如iOS类库中的NSURLConnectioin中使用代理的方式就是异步。(2)iOS类库中的异步调用提供自动的多线程并发&#xff0…

计算机系答辩麻烦,计算机专业的你,答辩时有多卑微?

你用英语都写不出来的东西就别指望用代码写了。又是一年毕业季,计算机专业的同学们,毕业设计都做好了吗?论文都写完了吗?查重过了吗?答辩准备好了吗?答辩,是你毕业前面临的最后一道关卡&#xf…

计算机A级作文,关于被计算机的作文(共一篇)-疾风作文网

【篇一:其物非故,其人亦存】科幻小说中,人工智能高度发达,甚至超过了人类的智力,计算机统治人类。看到这些,我们长舒一口气,或庆幸计算机智能暂时没有超过人类的风险,或是惴惴不安小…

面向对象设计与分析40讲(17)双重检查锁定(double-checked locking)范式

双重检查锁定&#xff08;也称为“双重检查锁定优化”&#xff09;是一种用于减少获取锁的开销的软件设计模式。它通过在获取锁之前测试锁定条件&#xff08;即“锁提示”&#xff09;来实现。只有在锁定条件检查表明需要锁定时才会进行锁定操作。 #include <atomic> #i…

Block总结

一、简介 Block代码块&#xff0c;本质上它和其它变量类似&#xff0c;不同的是代码块传递的是函数体&#xff0c;类似于selector的功能。调用和其它标准函数一样。声明方式有差别。二、代码块定义例&#xff1a;int ( ^ MyBlock)( int ) ^ (int m){ return m * 3; };1 …

计算机PPT03,南京大学计算机网络课件03.ppt

第3讲数据链路层 3 1数据链路层的基本概念 一 链路与数据链路 链路 link 就是一条无源的点到点的物理线路段 中间没有任何其他的交换结点 数据链路 datalink 则是另一个概念 这是因为当需要在一条线路上传送数据时 除了必须有一条物理线路外 还必须有一些必要通信协议来控制这些…

NSThread使用总结

一、创建NSThread&#xff1a;(1)使用NSThread类方法&#xff1a;detachNewThreadSelector:toTarget:withObject:该方法3个参数分别指定了线程执行的方法&#xff0c;目标&#xff0c;和传递的对象。但是要注意&#xff0c;使用这个方法时&#xff0c;并没有返回任何对象供操作…

甘肃计算机教室中标,大单纷至沓来 甘肃百亿工程浪潮电脑中标8000台

近日&#xff0c;浪潮电脑教育市场再传佳讯&#xff0c;在甘肃百亿工程项目中&#xff0c;凭借出众的产品性价比和针对细分市场的定制化解决方案&#xff0c;浪潮电脑一举拿下了8000台的采购大单&#xff0c;这是继宁夏中标之后浪潮电脑在百亿工程中的又一成功典范&#xff0c;…

NSOperationQueue简介

一、NSOperationQueue简介1.概述&#xff1a;NSOperationQueue类管理NSOperation对象的执行。NSOperationQueue可以被称为操作队列&#xff0c;NSOperation可以被称为操作。操作被添加到操作队列之后&#xff0c;操作队列会根据操作对象的优先级或者相互之间的依赖关系来执行操…

计算机 窗口打开的方法,如何打开命令行窗口?两种实用的方法介绍

Windows系统中常常会用到命令行窗口&#xff0c;那么我们该如何打开命令行窗口?接下来&#xff0c;小编为大家介绍两种实用的打开命令行窗口的技巧&#xff0c;再也不必担忧如何打开命令行窗口的烦恼了。第一种打开方法1.点击自己的电脑中的开始菜单&#xff0c;在菜单中找到运…

GCD简介一:基本概念和Dispatch Queue

一、什么是GCD&#xff1f;Grand Central Dispatch或者GCD&#xff0c;是一套低层API&#xff0c;提供了一种新的方法来进行并发程序编写。从基本功能上讲&#xff0c;GCD有点像NSOperationQueue&#xff0c;他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地…

大学生计算机二级大集报名最好,在校大学生如何报名计算机二级?

2009-12-05 回答首先要根据你的所学专业来衡量自己考哪项计算级二级有c语言&#xff0c; vb&#xff0c; vf&#xff0c; java&#xff0c; access&#xff0c; c 六项可选考其中一个你会的 考下来能拿计算机二级了考试分两部分&#xff0c;上机和笔试。笔试就是一些基本的操作…

GCD简介二:多核心的性能

一、概念为了在单一进程中充分发挥多核的优势&#xff0c;我们有必要使用多线程技术。在低层&#xff0c;GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用&#xff0c;就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同…

怪哉翻译软件测试,[东方朔传翻译]东方朔传·怪哉原文与翻译

东方朔传怪哉原文与翻译原文&#xff1a;《太平广记》卷四七三引《东方朔传》汉武帝幸⑦甘泉&#xff0c;驰道中有虫&#xff0c;赤色&#xff0c;头牙齿耳鼻尽具&#xff0c;观者莫识①。帝乃使东方朔视之&#xff0c;还对②曰&#xff1a;“此虫名怪哉。昔时拘系⑧无辜&#…

GCD简介三:Dispatch Sources

一、何为Dispatch Sources简单来说&#xff0c;dispatch source是一个监视某些类型事件的对象。当这些事件发生时&#xff0c;它自动将一个block放入一个dispatch queue的执行例程中。我们到底讨论哪些事件类型&#xff1f;下面是GCD 10.6.0版本支持的事件&#xff1a;Mach por…