![]() |
непонятки с ассоциативным массивом
Делаю так:
Код:
public function openForm(__form:Class):voidКод:
aForms[__form.name]=__form; |
Ничего не понял, но на всякий случай сообщу, что в таких случаях стоит использовать Dicrionary а не Array.
|
я допустим переодически забываю написать myVar = new Object() или
myAr = new Array(). В твоем случае я тоже не вижу таких действий. Dictionary :D |
Цитата:
Например, если ты пытаешься использовать для этого свойство массива length, то ты и не увидишь никакого результата -- у ассоциативных массивов оно не поддерживается. |
Цитата:
Вот конечный вариант Код:
package controlКод:
private var aForms:Array;Код:
private var aForms:Dictionary; |
Нет, просто если тебе нужен ассоциативный массив, более логично использовать Dictionary который легче, и подерживает слабую связку, в отличии от массива.
А вообще где ты инициализируешь массив? |
Это же синглетнон. Инициализация происходит по мере надобности - а то чнее просто идет добавление инстанса панели, когда она открывается и она не может повторно открыться пока существует хоть один инстанс такого же класса - ну типа как например панель Settings в приложениях (ее нельзя открыть два раза сразу)
|
Похоже, что у тебя просто ошибка в коде, Array здесь не причем, т.к. он подходит для строковых ключей. Как я вижу, ошибка у тебя в
Код:
public function openForm(__form:Class):voidесли хочешь взять имя класса используй getQualifiedClassName, хотя ты запросто можешь использовать в качестве ключа сам __form:Class, только в этом случае замени Array на Dictionary. |
все ясно - спасибо !
|
| Часовой пояс GMT +4, время: 14:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.