Eventable是小型的pub/sub对象,可以复用。它可以监听任意数量的自定义事件,并执行与事件动作相关的代码块。其使用非常简单,希望很直观。我还尝试提供传递必要数据的能力,以便为每个事件动作提供所需的数据。此代码是用ARC编写的。
代码用法示例。
NEEventable *eventable = [[NEEventable alloc] init];
[eventable addListener:@"custom-event" withAction:^(NEEventInfo *event) {
NSLog(@"Custom event listener 1");
}];
[eventable addListener:@"custom-event" withAction:^(NEEventInfo *event) {
NSLog(@"Custom event listener 2");
}];
// ... someplace else in the code with access to the eventable object
[eventable fireEvent:@"custom-event"];
此示例在事件对象中按添加顺序记录两条消息,一条接一条。除通过当前片段的末尾移除和添加条目外,没有简单的方法可以修改此顺序。