EventListenerAndDispatcher 0.0.1

EventListenerAndDispatcher 0.0.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2015 年 4 月

BPH 维护。



  • 作者
  • BPH

Objective-C 中的事件监听器和派发器解决方案,类似于在 ActionScript 3 中使用的。

示例用法

//set up the dispatcher in your model, or other class:
model.dispatcher = [[EventDispatcher alloc] init];
self.listener = [[EventListener alloc] init];

__weak typeof(self) weakSelf = self;
[self.listener addEventListener:model.dispatcher forEvent:@"customEvent" functionBlock:^{[weakSelf _onCustomEvent];}];
[self.listener addEventListener:model.dispatcher forEvent:@"myEventComplete" functionBlock:^{[weakSelf _onMyComplete];}]

//Your model will dispatch some events:
[model.dispatcher dispatchEvent:@"customEvent"];
[model.dispatcher dispatchEvent:@"myEventComplete"];


- (void) _onCustomEvent {
  NSLog(@"_onCustomEvent");
  [self.listener removeEventListener:model.dispatcher forEvent:@"customEvent"];
}

- (void) _onMyComplete {
  NSLog(@"_onMyComplete");
  [self.listener removeEventListener:model.dispatcher forEvent:@"myEventComplete"];
}

注意

移除事件监听器是可选的,因为当监听器对象被释放时,它将清除引用。

常见错误

如果监听器或派发器没有被分配或初始化,事件将无法正确触发,什么也不会被调用。