![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравсвуйте.
имеется массив: public var xxx:ArrayCollection = new ArrayCollection(); пытаюсь добавить в него объект с помощью addItemAt() var myObj:myType = new myType(); xxx.addItemAt(myObj, 1); выдает ошибку: Index '1' specified is out of bounds. Понимаю, что это происходит потому, что в xxx нет ни одного элемента, нудно начинать добавлять с индекса 0, тогда все хорошо, но, возможно ли как-то начать заполнение массива не с нулевого, а первого, например, или пятого элемента? гугление привело к такой статье: addItemAt() in ArrayCollection попробовав сделать то, что там предлагают (может и не все попробовал, за плохим знанием английского), не пришел ни к какому результату. А пробовал я такой способ объявления: public var xxx:ArrayCollection = new ArrayCollection(new Array(size)); так же там предлагается использовать сортировку, но очень не хотелось бы это делать. Может кто-нибудь сталкивался с таким вопросом? Спасибо. |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 14
|
если известен максимальный размер массива - заполни его предварительно пустыми значениями, а потом просто заполняй пустоту своими данными.
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
а чем обычный массив Array не подходит? Возможно я упускаю из вида какие-то преимущества ArrayCollection..
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
в принципе, массив вполне подходит, что-то я не подумал, что там такой проблемы может не быть, спасибо =)
но это еще не все, у меня используется <s:Group> в который я пытаюсь добавлять свои компоненты (основанные на <s:Group>) при помощи addElementAt() и там та же проблема. Массивом тут не заменишь =) может есть варианты? я вспомнил почему я использовал ArrayCollection, как минимум, мне надо удалять объекты из массива, не зная индекс, но теперь думаю, что индекс я знаю=) так что массив пока меня устраивает... То есть у ArrayCollection есть такие замечательные функции, как getItemIndex и removeItemAt. Добавлено через 2 минуты Цитата:
Да и количество элементов, в общем-то, не известно заранее. Известно только максимальное количество элементов, но их может быть и меньше Последний раз редактировалось altermann; 22.09.2010 в 12:51. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
getItemIndex - это indexOf() removeItemAt - splice( index, 1 ) И потом, вы можете пользоваться обычным массивом, а потом, при необходимости, из него уже создавать ArrayCollection.
__________________
Загружаем картинки, минуя ошибки безопасности Последний раз редактировалось i.o.; 22.09.2010 в 19:41. |
|
|||||
|
Цитата:
Насчет ArrayCollection. Старайтесь избегать использования этого класса, он слишком тяжелый для "повседневных" задач. Единственный случай когда его следует использовать, это если есть необходимость автоматически фильтровать данные. |
|
|||||
|
Цитата:
Добавлено через 1 минуту Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 17:52. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|