FLEX:分配目标必须是参考值

时间:2010-05-04 13:37:25

标签: flex

我该如何解决此错误?

Target of assignment must be a reference value

for (var z:int=0; z<this.tags.getItemAt(i).yearPopularity.length; z++) {    
  summedPopularity.getItemAt(z) = summedPopularity.getItemAt(z) + tags.getItemAt(i).yearPopularity.getItemAt(z);
                }

感谢

3 个答案:

答案 0 :(得分:0)

我不确定您是否可以分配getItemAt()

返回的值

尝试:

for (var z:int=0; z<this.tags.getItemAt(i).yearPopularity.length; z++) {    
  var tempItem:Object = summedPopularity.getItemAt(z) + tags.getItemAt(i).yearPopularity.getItemAt(z);
  summedPopularity.setItemAt(tempItem, z);
}

答案 1 :(得分:0)

此错误表示您尝试为值(或只读对象)赋值。 如果 summedPopularity.getItemAt(z)是唯一接受任何内容的东西,请尝试将其更改为var

var someVariable:Number =0;
for (var z:int=0; z<this.tags.getItemAt(i).yearPopularity.length; z++) {    
  someVariable = summedPopularity.getItemAt(z) + tags.getItemAt(i).yearPopularity.getItemAt(z);
}

我认为这样可以正常工作,

因此表示summedPopularity.getItemAt(z)是对象类型。

迹(summedPopularity.getItemAt(Z)); //&LT;&LT;&LT;调试停止并检查

尝试一下,除此之外,你必须给我们更多的代码并告诉我们summedPopularity是什么。

希望它有所帮助。

答案 2 :(得分:0)

我已使用summedPopularity[i]代替summedPopularity.getItemAt(i)

解决了问题