我在ActionScript 3类中有一个类成员,它看起来像这样:
private var m_myvect :Vector.<MyType> = new <MyType>[];
我通过吸气剂暴露它,就像这样:
public function get mydata() :Vector.<MyType>
当我像这样使用时,这没有用:
for (var o:Object in inst.mydata)
{
...
}
...因为o
的类型不是MyType
,而是Number
,因为它枚举了矢量索引而不是数据。
我如何仅以下列方式公开向量中的数据:
for(a in b)
语法答案 0 :(得分:3)
for( var i:int = 0; i < mydata.length; i++ )
// this will loop using the index - get your object using mydata[i] - it will be typed
for ( var o:Object (or String) in mydata )
// this will loop through using the keys - it's more for looping through Objects and Dictionaries
for each( var type:MyType in mydata )
// this will loop through using the values - what you're looking for
公开阻止其被修改的数据的唯一方法(即在Vector中添加/删除项目,或更改MyType中的数据)是通过父对象(包含Vector)上的函数来实现的。 / p>
e.g。
public function changeSomething( index:int, item:* ):void
{
// make sure the index is in bounds
if( index < 0 || index >= this.m_myvect.length )
return;
this.m_myvect[i].whatever = item;
}