iOS通知的使用

注册:[[NSNotificationCenter defaultCenter] postNotificationName:@"changeColor" object:self];

接收处观察  : [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeColor) name:@"changeColor" object:nil];

addObserver处remove掉观察者:

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter]removeObserver:self];
}

通知是iOS中典型的观察者模式。

1.iOS中的观察者模式:通知,KVO;

2.通知和代理的区别:

个人觉得,通知是观察者模式,代理是代理模式,所以通知和代理的区别就在于两种模式的区别。

①观察者模式是一对多,多用于不明确观察者时;代理模式是一对一,明确知道把something代理给谁;

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

委托代理(degegate),顾名思义,把某个对象要做的事情委托给别的对象去做。那么别的对象就是这个对象的代理,代替它来打理要做 的事。反映到程序中,首先要明确一个对象的委托方是哪个对象,委托所做的内容是什么。

如果通知过多,会造成通知的管理复杂,如果管理不好,你会接收到莫名其妙的消息,而无法追踪。

时间: 2024-10-28 22:18:37

iOS通知的使用的相关文章

iOS 通知观察者的被调函数不一定运行在主线程

Tony in iOS | 08/08/2013 iOS 通知观察者的被调函数不一定运行在主线程 今天修复Bug时候发现的一个小细节,记录下. 问题描述 事情是这样的:我在A视图(UITableView)注册了一个通知,当接收到此通知时,就重新读取数据并调用[tableView reloadData].但是视图有时刷新后的显示的内容不对,再重新切换下视图又正常了. 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //A视图在初始化时注册通知 - (voi

IOS通知机制初解

消通知机制: 3个步骤: 1.通知的发布 2.通知的监听 3.通知的移除 需要了解的要点 1.通知中心:(NSNotificationCenter) 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么.其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 2.通知:(NSNotificati

ios通知使用 书上案例 简单易懂

/* The notification name */const NSString *ResultOfAppendingTwoStringsNotification =@"ResultOfAppendingTwoStringsNotification"; /* Keys inside the dictionary that our notification sends */const NSString*ResultOfAppendingTwoStringsFirstStringInfo

iOS 通知的使用

iOS 通知是经常用到的一个重要的知识点,总结记录一下. 1.向通知中心注册通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(TFChangedValue:) name:@"hello" object:nil]; 2.发送通知 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRan

iOS核心笔记——iOS通知机制

1.iOS通知机制: 1-1.iOS通知发布者.通知中心.监听器之间的关系: 如下图所示: 2.通知(NSNotification)简介: 3.通知中心(NSNotificationCenter) 3-1.每个应用程序只有一个通知中心对象(单例对象): 4.发布通知: 4-1.对象在自己需要的某个时候使用通知类(NSNotification)创建通知对象后让通知中心帮忙发布通知: 1.可以在对象A需要使用通知的某个位置,直接让通知中心帮忙发送的时候将通知中的一系列信息通过通知中心提供的方法创建通

iOS 通知的变化ios9-10,新功能展示

一.变化 四.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserNotifications的易用,功能也变得非常强大. iOS 9 以前的通知 1.在调用方法时,有些方法让人很难区分,容易写错方法,这让开发者有时候很苦恼. 2.应用在运行时和非运行时捕获通知的路径还不一致. 3.应用在前台时,是无法直接显示远程通知,还需要进一步处理. 4.已经发出的通知

iOS通知中心

iOS通知中心 它是iOS程序内部的一种消息广播机制,通过它,可以实现无引用关系的对象之间的通信.通知中心他是基于观察者模式,它只能进行程序内部通信,不能跨应用程序进程通信. 当通知中心接受到消息后会根据设置,将消息发送给订阅者,这里的订阅者可以有多个 通知中心原理 看完上图你应该明白通知中心所做的事情了吧, 接下来我们就来看看通知中心. 首先必须了解2个类: // 这个类用来传递发送通知过程中传递信息的载体 NSNotification // 这是iOS中通知中心的灵魂, 由该类实现了观察者模

ios通知机制

ios 的通知机制,包括通知发布,通知监听,通知移除. iOS程序都有一个NSNotificationCenter的单例对象,用来负责发布不同对象之间的通知 任何对象都能够在NSNotificationCenter发布通知,发布自己的发生的事件:监听者(Observer)可以选择接受某个特定通知. 1. 属性      - (NSString*)name; // 通知的名称      - (id)object; // 通知发布者(是谁要发布通知) - (NSDictionary*)userInf

iOS 通知推送APNS

结合网上各个资料,再简单整理的一份. 一.APNS推送说明 1.你的IOS应用需要去注册APNS消息推送功能. 2.当苹果APNS推送服收到来自你应用的注册消息就会返回一串device token给你(很重要) 3.将应用收到的device Token传给你本地的Push服务器. 4.当你需要为应用推送消息的时候,你本地的推送服务器会将消息,以及Device Token打包发送到苹果的APNS服 5.APNS再将消息推送给目的iphone 二.推送的准备工作 推送准备的主要就是1.推送证书 2.

iOS 通知中心

原文地址 : http://www.jianshu.com/p/1208724e1915 iOS 提供了一种 "同步的" 消息通知机制NSNotificationCenter,观察者只要向消息中心注册, 即可接受其他对象发送来的消息,消息发送者和消息接受者两者可以互相一无所知,完全解耦.消息机制常常用于在向服务器端请求数据或者提交数据的场景,在和服务器端成功交互后,需要处理服务器端返回的数据,或发送响应消息等,就需要用到消息机制 一.通知相关的类 NSNotification 这个类可