protected var categoryXML:XML;
protected var categoryArr:ArrayCollection;
protected var categoryList:IList;
for (var i:int=0;i<getLength(categoryXML.category);i++) {
trace(categoryXML.category[i].name);
categoryArr[i] = categoryXML.category[i].name;
}
我在使用这段代码时遇到了麻烦......
这里的跟踪工作得很好,我得到了我期望的响应,但是当我尝试将它添加到categoryArr变量时,我被大吼大叫并告诉它为空。
这会有什么不同?
谢谢!
答案 0 :(得分:3)
您是否尝试创建ArrayCollection
:categoryArr = new ArrayCollection();
?
答案 1 :(得分:2)
所以,如果你得到那个在那一行有一个空引用,那是因为categoryArr可能是null。你需要初始化它,比如@ www0x0k建议。
我还建议您可能不希望以这种方式使用索引。它假设特定ArrayCollection的长度太多而没有任何边界检查。请考虑这样的代码:
categoryArr = new ArrayCollection();
for each(var category in categoryXML.category) {
trace(category.name);
categoryArr.addItem(category.name);
}