Flex中的ArrayCollection问题
问题描述:
Flex中的ArrayCollection
有问题。这是我的代码:Flex中的ArrayCollection问题
private var productPageArr:ArrayCollection;
private var productCount:Number = 10;
private function dviceProductPage(arr1:ArrayCollection,arr2:ArrayCollection):ArrayCollection
{
var page:Number = arr1.length //productCount;
var i:int;
arr2 = new ArrayCollection();
//productPageArr = new ArrayCollection();
for(i = 0; i<page; i++)
{
var o:Object = new Object();
o.label = String(i+1);
arr2.addItem(o);
}
//arr2.refresh();
return arr2;
}
当我运行这段代码时,我的应用程序终止。但是当productPageArr
被替换为arr2
然后我的应用程序运行顺利。
答
问题在于使用“arr2”。 “arr2”是您的函数的参数,可能无法从这里访问。
我真的不知道你想达到什么,但我的建议是在你的函数中创建一个新的变量,你可以安全地返回作为你的函数的结果(这留下了你为什么接受的问题“arr2”作为论据)。
我希望这会有所帮助。
private var productPageArr:ArrayCollection;
private var productCount:Number = 10;
private function dviceProductPage(arr1:ArrayCollection,arr2:ArrayCollection):ArrayCollection
{
var page:Number = arr1.length //productCount;
var i:int;
var arr3 = new ArrayCollection();
for(i = 0; i<page; i++)
{
var o:Object = new Object();
o.label = String(i+1);
arr3.addItem(o);
}
return arr3;
}
// productPageArr = new ArrayCollection();
这是流畅运行的代码还是崩溃的代码? – Chad