Изменения в массиве строковых переменных AS3 не обновляют сами переменные - PullRequest
0 голосов
/ 30 июля 2010

Я должен предположить, что мне не хватает чего-то простого, или я чего-то не понимаю, но я не могу понять это.

У меня есть список строк, которые я добавляю в массивпопытаться установить эти значения в цикле for, используя данные, которые я прочитал. Массив обновляется, но значения, содержащиеся в массиве, не обновляются.У меня также есть массив кнопок, которые я обновляю тем же способом, который прекрасно работает, но кажется, что строки не работают так же.Я попытался переместить строковый массив, чтобы дать ему полный объем, и все еще ничего ... Чего мне не хватает?

public class test extends Sprite
{
  // Declare a list of strings 
  protected var title0:String = undefined;
  protected var title1:String = undefined;
  protected var title2:String = undefined;

  protected function onDataLoad(evt:Event):void{

    var titleArray:Array = new Array(title0,title1,title2); // Array of strings

    for(i=0; i<=evt.target.data.count; i++){
      titleArray[i] = evt.target.data["title"+i]; // attempt to set the title values
    }
  }

  protected function function0(e:Event):void {
    trace("My title is: " + title0); // title0 is null
  }
}

1 Ответ

0 голосов
/ 30 июля 2010

Это связано с тем, как AS3 хранит элементы массива.Вам нужно было бы явно установить и свойство экземпляра (title1, title2, title3) и связанный элемент массива (array [0], array [1], array [2]), чтобы достичь того, что вы хотите.Или вы можете полностью удалить свойства экземпляра (title0, title1, title2) и просто использовать массив для хранения ваших значений.Что-то вроде:

public class test extends Sprite
{

  protected var _titleArray:Array = [];

  protected function onDataLoad(evt:Event):void{

    for(i=0; i<=evt.target.data.count; i++){
       // set the title values
      _titleArray[i] = evt.target.data["title"+i];
    }
  }

  protected function function0(e:Event):void {
    trace("My title is: " + _titleArray[0]);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...