我有一个奇怪的情况,我看不到为什么我实现的 IEventDispatcher 接口没有编译,我得到Error: Call to a possibly undefined method addEventListener
了Error: Call to a possibly undefined method removeEventListener.
很有可能我在这里做了一些非常愚蠢的事情,我只是不知道它是什么......
以下是引发这些错误的类中的方法(意味着在 setTransformListner 和“removeTransformListener”的主体中处理“视图”的方法:
public function setTransformListener(view:AbstractView):void
{
view.addEventListener(CustomEvent.TRANSFORM, transform);
}
public function removeTransformListener(view:AbstractView):void
{
view.removeEventListener(CustomEvent.TRANSFORM, transform);
}
private function transform(e:CustomEvent):void
{
}
这是事件调度程序类...
package view
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;
public class AbstractView implements IEventDispatcher
{
private var _dispatcher:EventDispatcher;
public function AbstractView():void
{
_dispatcher = new EventDispatcher(this);
}
/* INTERFACE flash.events.IEventDispatcher */
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
{
_dispatcher.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
public function dispatchEvent(evt:Event):Boolean
{
return _dispatcher.dispatchEvent(evt);
}
public function hasEventListener(type:String):Boolean
{
return _dispatcher.hasEventListener(type);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
{
_dispatcher.removeEventListener(type, listener, useCapture);
}
public function willTrigger(type:String):Boolean
{
return _dispatcher.willTrigger(type);
}
}
}