作为一些从 actionscript 到 IOS 的移植代码,我们有很多自定义组件遵循 Flash/Actionscript 中的事件调度机制:
例如调度员:
dispatchEvent(new CustomEvent(CustomEvent.DRAG_DROP));
消费者:
dispatcher.addEventListener(CustomEvent.DRAG_DROP, actionHandler);
private function actionHandler(event:CustomEvent):void {
trace("actionHandler: " + event);
}
我知道 NSNotificationCenter、KVO 模式、动作目标,但似乎没有一个完全匹配?
我将在哪里定义 CustomEvent?CustomEvent.DRAG_DROP?消费者将如何收听该事件?消费者如何知道调度程序可以调度的所有事件?我不想使用委托,因为可能有多个消费者。