Получить информацию об объектах из ArrayCollection???

В настоящее время я использую последнюю версию Adobe Flash Builder для создания мобильного приложения. Одной из функций приложения является предоставление пользователям возможности добавлять контент в закладки, и это делается путем сохранения идентификатора объекта, который нужно добавить в закладки, в базу данных SQLite на устройстве. Эта часть была выполнена успешно, и они хорошо хранятся.

Теперь я хочу извлечь идентификаторы закладок из базы данных и передать их вызову WebService, который необходимо выполнить во внешней базе данных. Когда я извлекаю идентификаторы закладок из локальной базы данных, которые они содержат в объекте, теперь мне нужно найти способ взять идентификаторы из объектов базы данных в ArrayCollection и сохранить их в новом массиве, который будет передан в WebService, как веб-сервис ожидает массив Int, а не объектов. Ниже приведен код, который я создал, чтобы увидеть, находятся ли элементы объекта в списке объектов массива:

private function loop():void
            {
                var index:int;
                for( index = 0; index < compsCollection.length; index++ )
                {
                    trace( "Element " + index + " is " + compsCollection[index].comp_id );                  
                }               
            }  

Теперь, когда я тестирую приложение, все выглядит нормально, и оператор трассировки возвращает следующее:

Element 0 is 91
Element 1 is 9
Element 2 is 9
Element 3 is 9
Element 4 is 9
Element 5 is 9
Element 6 is 9
Element 7 is 282
Element 8 is 282
Element 9 is 282
Element 10 is 282
Element 11 is 282
Element 12 is 282

Однако затем я попытался заполнить значения Int для каждого из объектов в новый массив, используя приведенный ниже код:

var ids:Array;
                var index:int;
                for( index = 0; index < compsCollection.length; index++ )
                {
                    trace( "Element " + index + " is " + compsCollection[index].comp_id );
                    ids.push(compsCollection[index].comp_id);
                }               
            }

Однако, когда я запускаю этот код, я получаю эту ошибку:

TypeError: Error #1009: Cannot access a property or method of a null object reference.

Эта ошибка возникает в строке:

ids.push(compsCollection[index].comp_id);

Я не понимаю, почему я получаю эту ошибку, кто-нибудь может помочь?? Спасибо


person user723858    schedule 26.08.2011    source источник
comment
хм, вы не создали экземпляр этого массива: var ids:Array = []   -  person RIAstar    schedule 26.08.2011


Ответы (1)


Хотя я ничего не знаю об Adobe Flash Builder, обычно вы должны создать экземпляр массива перед его использованием.

var ids:Array = []; 

может быть?? (Как предложило РИАстар)

person Jack    schedule 26.08.2011
comment
OMG, я не имею дело с таким количеством массивов, я забыл их инициализировать, лол! извините за глупый вопрос, но сегодня пятница. Спасибо за быстрые ответы :-) - person user723858; 26.08.2011