Получить информацию об объекте Item из ArrayCollection ??? - PullRequest
0 голосов
/ 26 августа 2011

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

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

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

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

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);

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

1 Ответ

0 голосов
/ 26 августа 2011

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

var ids:Array = []; 

может быть ?? (Как и предполагал RIAstar)

...