7.iOS Notification

1. 通知中心认识

通知中心实际上是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通信,它只能进行程序内部通信,不能跨应用程序进程通信。通知中心,当通知中心接受到消息后会根据设置,根据内部的一个消息转发表,将消息转发给订阅者。通知中心是基于观察者模式的,它允许注册、删除观察者。通知中心与代理模式类似,都可以实现多个对象间通信,通知中心可以将一个通知发送给多个监听者,而代理模式每个对象只能添加一个代理。但无论是那种模式,都是一种低耦合的设计,实现对象间的通信。

2. 通知中心的使用

第一步:注册通知中心(就是谁去接受广播)

// 参数1 谁去就收广播的消息

// 参数2 接收到广播后要执行的操作

// 参数3 接受哪个广播(也是就广播的标识)

[[NSNotificationCenter defaultCenter]  addObserver:self selector:@selector (runSel:) name:@"MCJ" object:nil];

第二步:发送广播 这个方法一般在其他对像有什么变数时 在其他对象里写

// 参数1 给广播添加标识(在接受广播的地方,可以通过这个值区分不同的广播)

// 参数 2 需要传递的参数 没有的话可以传nil

[NSNotificationCenter defaultCenter] postNotificationName:@" MCJ" object:array];

第三步: 实现接收到广播后要执行的方法,如果有参数需要加上(NSNotification *)sender

sender.object 就是我们传过来的参数

- (void)runSel: (NSNotification *)sender {

    NSArray *array =
sender.object;
    _nameLable.text = array[0];

    _passwordLabel.text =
array[1];
    self.view.backgroundColor
= [UIColor redColor];
}

第四步:移除通知(有两种方式)

- (void)dealloc {

// 移除指定的通知中?心

    [[NSNotificationCenter
defaultCenter]
removeObserver:self
name:@"MCJ" object:nil];

// 移除所有的通知中?心

    [[NSNotificationCenter
defaultCenter]
removeObserver:self];
}
时间: 2024-11-03 03:34:07

7.iOS Notification的相关文章

Apple Notification Center Service--ANCS【转】

Apple Notification Center Service 转自:http://studentdeng.github.io/blog/2014/03/22/ancs/ MAR 22ND, 2014 | COMMENTS 名词解释与约定 名词解释 Apple Notification Center Service 简称 ANCS. ANCS 服务(iOS设备,如iPhone,iPad等)的publisher 称为 Notification Provider. 任意的ANCS服务的clien

『零行代码』解决键盘遮挡问题(iOS)

关注仓库,及时获得更新:iOS-Source-Code-Analyze https://github.com/draveness/iOS-Source-Code-Analyze Follow: Draveness · Github 这篇文章会对 IQKeyboardManager 自动解决键盘遮挡问题的方法进行分析. 最近在项目中使用了 IQKeyboardManager 来解决 UITextField 被键盘遮挡的问题,这个框架的使用方法可以说精简到了极致,只需要将 IQKeyboardMan

转:iOS通知中心

转:IOS Notification 通知中心 :NSNotification1.     通知中心概述通知中心实际上是在程序内部提供了消息广播的一种机制.通知中心不能在进程间进行通信.实际上就是一个二传手,把接收到的消息,根据内部的一个消息转发表,来将消息转发给需要的对象.通知中心是基于观察者模式的,它允许注册.删除观察者.一个NSNotificationCenter可以有许多的通知消息NSNotification,对于每一个NSNotification可以有很多的观察者Observer来接收

Send Push Notifications to iOS Devices using Xcode 8 and Swift 3, APNs Auth Key

Send Push Notifications to iOS Devices using Xcode 8 and Swift 3 OCT 6, 2016 Push notifications are a great way to ensure your users re-engage with your app every once in a while, but implementing them on iOS can be challenging, especially with all o

iOS推送之远程推送

最近公司项目升级重构(重写),除了本来我所负责的模块,最后临危受命接了推送(远程和本地)相关的模块,顺便把推送的相关知识复习了一遍.后期连续工作十几天加上最后一天的通(瞎)宵(熬)达(一)旦(夜),也算是不辱使命.此文除了讲解远程推送相关的基本知识外,也会涉及一些推送相关的奇淫技巧.另外本文主要讲解远程推送,后续会出一篇iOS推送之本地推送(iOS Notification Of Local Notification)的姊妹篇. 此篇文章的逻辑如下图所示: 图0-0 此篇文章的逻辑图 远程推送原

iOS推送之本地推送

写此文的原因可见此文章的姊妹篇iOS推送之远程推送(iOS Notification Of Remote Notification),如果你看过了它的姊妹篇,了解过了远程推送,那么再来看此本地推送,真真是易如反掌啊! 此篇文章的逻辑如下图所示: 图0-0 此篇文章的逻辑图 本地推送介绍 本地推送和远程推送的功能是一样的,都是要提醒用户去做某些事情.但是和远程推送不同的就是本地推送是不需要设备联网的,而远程推送是必需要设备联网的,因为只有联网状态下,才能和苹果的APNs服务器建立长连接,从而推送消

给iOS程序添加push代码

给iOS程序添加push代码 Adding Code for a Push Enabled iOS Application 现在,我们开始开发项目,为了使该App能够接受push通知,我们需要对程序进行一些修改. We are now ready to start programming. We need to make a few modification to the app delegate in order to receive push notifications. 1. 给当前设备注

苹果ANCS协议分析

苹果ANCS协议学习 综述 苹果通知中心(Apple Notification Center Service, ANCS)的目的是提供给蓝牙外设一种简单.方便的获取ios设备通知信息的方式. 依赖 ANCS的使用没有依赖,它是GATT的一个子集,任何一个实现了GATT client的设备可以方便的从ios设备获取通知信息. 传输注意事项 如果没有特殊说明,通过ANCS传输的数值均使用小端模式. 如果没有特殊说明,通过ANCS传输的字符串均使用UTF-8编码. 概念定义 l  ANCS:苹果通知中

苹果ANCS协议学习【转】

苹果ANCS协议学习 转自:http://www.cnblogs.com/alexcai/p/4321514.html 综述 苹果通知中心(Apple Notification Center Service, ANCS)的目的是提供给蓝牙外设一种简单.方便的获取ios设备通知信息的方式. 依赖 ANCS的使用没有依赖,它是GATT的一个子集,任何一个实现了GATT client的设备可以方便的从ios设备获取通知信息. 传输注意事项 如果没有特殊说明,通过ANCS传输的数值均使用小端模式. 如果