检索对象从ArrayCollection中获取项目信息



我目前正在使用最新版本的Adobe Flash Builder创建一个移动应用程序。对于应用程序,一个特性是允许用户对内容添加书签,这是通过将要添加书签的对象的id存储到设备上的SQLite数据库中来实现的。这部分已经做得很成功,它们保存得很好。

现在我想做的是从数据库中拉回书签id,并将它们传递给需要对外部数据库进行的WebService调用。当我从本地数据库中检索书签id时,它们包含在对象中,我现在需要找到一种方法,从ArrayCollection中的数据库对象中获取id,并将它们存储在一个新数组中,该数组将传递给WebService,因为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);

我不明白为什么我得到这个错误,有人可以帮助吗??由于

虽然我对Adobe Flash Builder一无所知,但通常你必须在使用它之前实例化一个数组。

var ids:Array = []; 

也许? ?(如RIAstar建议)

相关内容

  • 没有找到相关文章

最新更新