我正在使用父母将多维数组传递给孩子。名为 projectPositions 的数组结构如下(带有示例数据):
projectPositions[0][0] = 1;
projectPositions[0][1] = 5;
projectPositions[0][2] = '1AD';
projectPositions[0][3] = 'User name';
我需要把这个继承的数组变成一个arrayCollection,这样我就可以把它用作dataProvider。目前,我的 init 函数(运行 onCreationComplete)中有这段代码来处理数组 -> arrayCollection 的任务:
for (var i:int = 0; i < projectPositions.length; i++)
{
tempObject = new Object;
tempObject.startOffset = projectPositions[i][0];
tempObject.numDays = projectPositions[i][1];
tempObject.role = projectPositions[i][2];
tempObject.student = projectPositions[i][3];
positionsAC.addItemAt(tempObject, positionsAC.length);
}
然后,在转发器期间,我使用 positionAC 作为数据提供者并以下列方式引用这些项目:
<mx:Repeater id="indPositions" dataProvider="{positionsAC}" startingIndex="0" count="{projectPositions.length}">
<components:block id="thisBlock" offSet="{indPositions.currentItem.startOffset}" numDays="{indPositions.currentItem.numDays}" position="{indPositions.currentItem.role}" sName="{indPositions.currentItem.student}" />
</mx:Repeater>
这一切正常并返回所需的效果,但此应用程序的加载时间约为 10 秒。我 99% 确定加载时间是由数组 -> arrayCollection for 循环引起的。有没有更简单的方法来达到预期的效果,而不必等待页面加载这么长时间?