3

拡張する2つのクラスがあるとしますEvent:

public class CustomEventOne extends Event
{
    public static const EVENT_TYPE_ONE:String = "click";

     //... rest of custom event

public class CustomEventTwo extends Event
{
    public static const EVENT_TYPE_TWO:String = "click";

     //... rest of custom event

両方が同じ文字列を使用してイベント タイプを宣言しても問題あり"click"ませんか?

それとも、イベント タイプ識別子はアプリケーション全体で一意である必要がありますか?

4

2 に答える 2

5

これで間違いなく衝突する可能性があります。バブリングを使用するか、同じオブジェクトで両方のイベントをリッスンすると、これは非常に明白になります。コアでは、イベント リスナーは文字列をリッスンしています。強力な型付けはなく、if(string==type)チェックのみです (これは単純すぎますが、本質的に何が起こっているのか)。

これらのイベント タイプに名前を付けるのが適切です。

public static const EVENT_TYPE_ONE:String = "eventTypeOne";

いずれかを使用する場合、[Event(name="eventTypeOne", type="com.me.events.CustomEvent")]この構文は不可欠です。

于 2009-10-14T00:16:50.233 に答える