项目作者: chausson

项目描述 :
EventBus Object-C Version(EventBus 的Object-C语言版本)
高级语言: Objective-C
项目地址: git://github.com/chausson/XEBEventBus.git
创建时间: 2016-10-20T07:14:57Z
项目社区:https://github.com/chausson/XEBEventBus

开源协议:MIT License

下载


XEBEventBus

EventBus Object-C Version(EventBus 的Object-C语言版本)

Install

  1. pod XEBEventBus'

How to Use

实现接收事件

EventBus采用订阅者的策略,接收Event事件的类需要注册成为订阅者对象并且遵守XEBSubscriber

  1. @interface CHMessageEventCenter ()<XEBSubscriber>
  2. @end
  3. @implementation CHMessageEventCenter{
  4. + (instancetype)init{
  5. self = [super init];
  6. if (self){
  7. [[XEBEventBus defaultEventBus] registerSubscriber:self];
  8. }
  9. return self;
  10. }
  11. }

实现以下两个方法来订阅

handleableEventClasses方法需要返回在当前订阅者中需要接收Event的类型 当接收到event事件后会执行onEvent方法

  1. - (void)onEvent: (id )event{
  2. // execute code
  3. }
  4. + (NSArray<Class>*)handleableEventClasses {
  5. return @[[CHEvent class]];
  6. }

实现发送事件

CHEvent是一个自定义的Event对象,发送给订阅了该类型的对象,evnet中可以代入一些上下文内容

  1. - (void)postEvent{
  2. CHEvent *event = [CHEvent new];
  3. [[XEBEventBus defaultEventBus] postEvent:event];
  4. }