2013-09-13 5 views
0

all.Imm использование AMF0 для связи, и я хочу передать строгий тип массива, но все массивы, которые я создал многими методами, по-прежнему являются ECMAArray.Как создать строгий массив в ActionScript 3?

Как создать строгий массив?

+0

как эти: var array: Array = new Array (1,2,3); или var array: Array = [1,2,3]; или массив var: Array = new Array(); array ['a'] = 1; array ['b'] = 2; –

+0

Вы хотите иметь IntArray или StringArray? – Pan

+0

Я не уверен. AMF0 имеет тип данных с именем Strict Array (строгий массив содержит только порядковые индексы, однако в AMF 0 индексы могут быть плотными или разреженными. Неопределенные записи в разреженных областях между индексами сериализуются как неопределенные .) –

ответ

3

Используйте Vector класс, доступный у проигрывателя Flash 10. Это и «строгий массив», то есть его индексы от 0 до длины-1 непрерывны, и он также напечатан, поэтому вы можете сделать Vector.<int>, и там будет только быть ints.

+0

Спасибо, Веспер. –

+0

Я создал векторный массив, подобный этому: var v: Vector. = новый [0,1,2,]; Но сервер рассматривает его как объект. –

+0

Хммм. Возможно, тогда вам нужно глубже углубиться в представление объектного объекта AMF0. Если эта вещь использует специальный формат хранения массива, вы должны передать ей ByteArray, а затем, в частности, сформированную в функции в соответствии с исследованным форматом. – Vesper