object-c之通知

  如果学生没有来上课,老师给家长发送通知

 1 #import "Parents.h"
 2 // #import "Teacher.h"
 3 @implementation Parents
 4
 5 - (instancetype)init
 6 {
 7     self = [super init];
 8     if (self) {
 9         // 注册通知
10         // addObserver:观察者,即在什么地方接收通知,
11         // selsctor:受到通知后响应的方法,是一个选择器,用于指定一个接收指定通知的方法
12         // name:响应的名字,即通知的名字,只有与通知中心的通知名相匹配时,才可能接收该通知
13         // object:传递参数 谁去响应事件 object为nil时除了自己,所有的通知名为isAttenClass的都能接受到通知
14         [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(attendClass:) name:@"isAttendClass" object:nil];
15     }
16     return self;
17 }
18
19 - (void)attendClass:(NSNotification *)notification
20 {
21     //   Teacher *teacher = notification.object;
22     NSLog(@"触发通知");
23     NSLog(@"家长你好,%@",[notification userInfo]);
24 }
25
26
27
28 - (void)dealloc
29 {
30     // 移除指定通知
31     [[NSNotificationCenter defaultCenter] removeObserver:self name:@"isAttendClass" object:nil];
32
33     // 移除所有通知
34     [[NSNotificationCenter defaultCenter] removeObserver:self];
35 }
36
37 @end
 1 #import <Foundation/Foundation.h>
 2
 3 #import "Parents.h"
 4
 5 @interface Teacher : NSObject
 6
 7 @property (nonatomic,assign) BOOL isAttendClass;
 8
 9 - (void)postNotification;
10
11 @end
12
13
14
15
16
17
18
19
20
21
22 #import "Teacher.h"
23
24 @implementation Teacher
25
26
27 - (void)postNotification
28 {
29     Parents *parents = [[Parents alloc]init];
30     _isAttendClass = NO;
31
32     // 发送通知
33     // object:发送通知给谁
34     if (!_isAttendClass) {
35         [[NSNotificationCenter defaultCenter]postNotificationName:@"isAttendClass" object:parents userInfo:@{@"通知":@"孩子没来上课"}];
36     }
37 }
38
39 @end
时间: 2024-10-14 01:36:08

object-c之通知的相关文章

Notification Centers 通知中心

Notification Centers 通知中心 A notification center manages the sending and receiving of notifications. It notifies all observers of notifications meeting specific criteria. The notification information is encapsulated in NSNotification objects. Client o

通知(Notification) 、 应用间通信(一)

1 使用通知中心发送消息 1.1 问题 当一个对象需要向多个接受者发送消息的,或者不用知道消息的接收者是谁,就可以使用IOS提供的NSNotificationCenter通知中心,本案例使NSNotificationCenter通知中心改变界面上所有按钮的颜色,如图-1所示: 图-1 1.2 方案 首先在创建好的Xcode项目的Storyboard中拖放两个场景,其中第一个场景带有NavigationController,这两个场景分别和ViewController类以及ChangeColorV

通知(NSNotificationCenter)

通知 如今天遇到了一个问题,长按相片,将此相片传到发布说说那个控制器中,不管用push,还是其它方法都无法实现,后来发现一个view添加到了Windows上面了,view添加完毕了就移除了和这个控制器一点关系都没有,这时一个大牛(朋友)用了"通知'这个方法,解决了我的难题,记录下. 1.发送通知 /**   postNotificationName: 是发布的通知的名字,谁要注册通知时,必须和这个名字一致 *   Object :是要传递的对象或参数,如果不传为nil (id类型). **/ [

iOS之NSNotificationCenter通知中心使用事项

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

iOS-设计模式之通知

通知设计模式简单好用,就是一个项目中如果用的太多,不利于代码维护,可读性太差. 实现过程: [[NSNotificationCenter defaultCenter]postNotificationName:@"notificarions" object:self userInfo:dic]; 发一个通知,可以在userInfo:这里进行传值, [[NSNotificationCenter defaultCenter]addObserver:self selector:@selecto

iOS通知中心 NSNotificationCenter详解

NSNotificationCenter的适用场景,原理机制,使用步骤等. 通知中心的使用顺序:先确保注册了观察者,因为发送通知是一瞬间的事,如果没有注册观察者,发送通知后再注册是不会收到的. 总结:通知只会发送给当前监听着的对象. 代码 //注册通知  在关心该通知的页面注册监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tongzhi:) name:@"tongzhi" obj

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开发——UI进阶篇(五)通知、代理、kvo的应用和对比,购物车

一.通知 1.通知中心(NSNotificationCenter)每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么.其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 2.通知(NSNotification)一个完整的通知一般包含3个属性:- (NSString *)name; // 通知

iOS 通知中心

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

ios程序中的通知机制

每一个应用程序中都有一个NSNotificationCenter实例,用来协助不同的对象之间的通信,任何一个对象都可以向通知中心发布通知(NSNotication),在通知中描述自己做什么.其他的感兴趣的对象可以申请在某个特定的通知或者特定对象发出通知时接收到这个通知. 一个通知一般包含有3个属性: //通知的名称 - (NSString *)name; //通知的发布者 - (id)object; //通知附加的额外信息 - (NSDictionary *)userinfo; 初始化一个通知对