0

適切に機能するベクターのセッターがありますが、要素の 1 つが変更されたときに追加の処理を実行しようとしています。

private var _myVect:Vector.<int> = new <int>[0,0,0,0];

public function set myVect(newVect:Vector.<int>):void {
    trace(newVect);
    _myVect = newVect;
}

myVect[0] = 1 を実行すると、_myVect は [1,0,0,0] になりますが、トレースさえしません。セッター内から要素番号と割り当てられた値を取得するにはどうすればよいですか?

4

1 に答える 1

0

「myVector[0] =」を使用する場合、実際にはセッターではなくゲッターを使用しているため、トレースしません(ベクターを取得してから、その値の1つを設定します)。

ゲッターのみを実装します。

myVect[0] = 1 の代わりに _myVect[0] = 1 を実行するか、次のようにパブリック メソッドを実装する必要があります。

public function updateVectorAt(value:int, index:int):void
{ 
    _myVect[index] = value; 
    // do the other stuff here...
}
于 2013-10-02T14:41:53.863 に答える