NSNotificationCenter通知

iOS软件开发的时候会遇到这种情况:打开APP后会在后台运行某个方法,例如下载文件,下载完成后可能需要调用某个方法来刷新界面,这时候可能没法在下载的函数中回调。NSNotificationCenter(通知)是一个很好的选择。

通知使用起来非常的简单:
1. 定义将要调用的方法:

- (void)callBack

{

  NSLog(@"----哈哈-----");

}

2. 定义通知:

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

3. 调用通知:

- (void)getNotofocation{

    NSLog(@"get it.");

    //发出通知

    [[NSNotificationCenter defaultCenter] postNotificationName:@"back" object:self];

}

4. 移出通知:

- (void)dealloc {

 [super dealloc];

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

}

时间: 2024-11-10 15:13:25

NSNotificationCenter通知的相关文章

IOS NSNotificationCenter 通知的使用

1.注册通知 [NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notify) name:@"myNotify" object:nil]; -(void)notify { NSLog(@"notify"); } 2.触发通知 [NSNotificationCenter defaultCenter] postNotificationName:@"myNotify&

学习IOS开发UI篇--NSNotificationCenter通知中心

NSNotificationCenter 较之于 Delegate 可以实现更大的跨度的通信机制,可以为两个无引用关系的两个对象进行通信.NSNotificationCenter 的通信原理使用了观察者模式; 1. NSNotificationCenter 注册观察者对某个事件(以字符串命名)感兴趣,及该事件触发时该执行的 Selector 或 Block 2. NSNotificationCenter 在某个时机激发事件(以字符串命名) 3. 观察者在收到感兴趣的事件时,执行相应的 Selec

iOS之NSNotificationCenter通知中心使用事项

其实这里的通知和之前说到的KVO功能很想,也是用于监听操作的,但是和KVO不同的是,KVO只用来监听属性值的变化,这个发送监听的操作是系统控制的,我们控制不了,我们只能控制监听操作,类似于Android中系统发送的广播,我们只能接受.但是通知就不一样了,他的监听发送也是又我们自己控制,我们可以在任何地方任何时机发送一个通知,类似于Android中开发者自己发送的广播.从这一点看来,通知的使用场景更为广泛了. 下面就来看一下例子: 还是护士和小孩的那个例子 Children.h [objc] vi

NSNotificationCenter 通知中心传值

1.NSNotification 这个类可以理解为一个消息对象,其中有三个成员变量. 这个成员变量是这个消息对象的唯一标识,用于辨别消息对象. @property (readonly, copy) NSString *name;   这个成员变量定义一个对象,可以理解为针对某一个对象的消息. @property (readonly, retain) id object;   这个成员变量是一个字典,可以用其来进行传值. @property (readonly, copy) NSDictionar

NSNotificationCenter 通知机制

在cocoa透彻 框架中,观察者模式的具体应用有两个通知机制和kvo机制 1.通知机制  与委托机制不同的是,前者是“一对多”的对象 之间的通信,后者是“一对一”的对象之间的通信. 通知机制的可以1对多个控制器,1个控制器监听,其他控制器发出请求 . 监听 [[NSNotificationCenter defaultCenter] addObserver:self                                             selector:@selector(han

NSNotificationCenter(通知)

//下面是不同类中需要实现的代码 1.[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sender:) name:@"刘冠" object:nil];//通知接收者(监听者) -(void) sender:(NSNotification *)input { NSLog(@"%@",input.object) ; } //引用计数为0的情况下,当内存回收时会调用deal

iOS 设计模式-NSNotificationCenter 通知中心

通知介绍 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么. 其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 初始化通知中心 // 初始化通知中心 NSNotificationCenter *center =[NSNotificationCenter defaultCenter];

通知中心 NSNotificationCenter 的简单使用方法

NSNotificationCenter(通知中心)   [注意]需再dealloc中移除观察者   获取通知中心单例对象 NSNotificationCenter *center=[NSNotificationCenter defaultCenter]; 常用方法: 1.注册观察者 - (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject; 参数: ob

iOS NSNotificationCenter (自己实现一个通知中心XMCNotificationCenter)

系统不是已经有通知中心NSNotificationCenter了吗?为什么还要自己实现一个呢?下面我们就考虑以下例子(下面大部分是我抄下我在github上写的说明及原码): 在iOS中模块间通知我们用得最多的就是NSNotificationCenter.举个例子,现在我们有一个模块需要抛一个通知出来,通知其它模块用户名改变了,我们来看代码大致是怎么写的 发通知一方 NSString *const kUserNameChangedNotification = @"UserNameChangedNo