初识Objecive-C 之 通知

本文介绍了Cocoa中的通知机制,包括如何创建自定义通知、发送通知及移除监听者等核心概念。通过示例代码展示了如何实现一个简单的通知发布与订阅的过程。

通知(Notification)是一种发给一个或者多个观察者,用来通知其他在程序中发生了某个事件的消息,Cocoa中得通知机制遵循的一种广播的模式。通知机制的核心就是一个进程中单一实例的对象,被叫做通知中心(NSNotificationCenter)。当一个对象发布一个通知时,通知会先被发布到通知中心。

自定义通知:

  1. 注册通知
  2. 创建并发送通知
  3. 移除监听者

#import "King.h"


@interface King ()


- (void)sameMassage;  


@end

@implementation King


-(void)sameMassage{

    //创建自定义通知

    NSNotification  *notification = [NSNotificationnotificationWithName:@"明天放假" object:self userInfo:nil];

    //发送通知

    [[NSNotificationCenterdefaultCenter] postNotification:notification];

}


@end


--------------------------------------

#import "Worker.h"


@interface Worker ()


-(void) say:(id) sender;


@end

@implementation Worker


- (id)init

{

    self = [superinit];

    if (self) {

        //注册通知,对象接受通知

        [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(say:)name:@"明天放假" object:nil];

    }

    return self;

}

-(void) say:(id) sender{


    NSLog(@"oYear、");

}


- (void)dealloc

{

    //移除监听者

    [[NSNotificationCenterdefaultCenter] removeObserver:selfname:@"明天放假" object:nil];

    [super dealloc];

}

@end



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值