如何创建对象的数组集合?

发布于 2024-11-26 09:38:00 字数 252 浏览 2 评论 0原文

我是 Flex 新手,我有一个如下所示的类:

public class Items extends Object
{
    public function Items(){
        super();
    }

    public var name:String;
    public var count:int;
}

如何创建 Items 类型的 ArrayCollection?

谢谢。

I new to flex, I have a class shown below:

public class Items extends Object
{
    public function Items(){
        super();
    }

    public var name:String;
    public var count:int;
}

How do I create an ArrayCollection of type Items?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蛮可爱 2024-12-03 09:38:00
var item1:Items = new Items();
item1.name = "Name1";
item1.count = 5;

var item2:Items = new Items();
item2.name = "Name2";
item2.count = 7;

var items:ArrayCollection = new ArrayCollection([item1, item2]);

另一种方式:

var items:ArrayCollection = new ArrayCollection();

var item1:Items = new Items();
item1.name = "Name1";
item1.count = 5;
items.addItem(item1);

var item2:Items = new Items();
item2.name = "Name2";
item2.count = 7;
items.addItem(item2);
var item1:Items = new Items();
item1.name = "Name1";
item1.count = 5;

var item2:Items = new Items();
item2.name = "Name2";
item2.count = 7;

var items:ArrayCollection = new ArrayCollection([item1, item2]);

Another way:

var items:ArrayCollection = new ArrayCollection();

var item1:Items = new Items();
item1.name = "Name1";
item1.count = 5;
items.addItem(item1);

var item2:Items = new Items();
item2.name = "Name2";
item2.count = 7;
items.addItem(item2);
漫漫岁月 2024-12-03 09:38:00

您还可以在 mxml 中创建它们(如果您使用的是 flex 4,则在 mxml 中)

<s:ArrayCollection id="theCollection">
    <namespace:Items name="name 1" count="5" />
    <namespace:Items name="name 2" count="6" />
    <namespace:Items name="name 3" count="7" />
    <namespace:Items name="name 4" count="8" />
</s:ArrayCollection>

然后通过其 id 引用该数组。

You can also create these in mxml (inside if you're using flex 4)

<s:ArrayCollection id="theCollection">
    <namespace:Items name="name 1" count="5" />
    <namespace:Items name="name 2" count="6" />
    <namespace:Items name="name 3" count="7" />
    <namespace:Items name="name 4" count="8" />
</s:ArrayCollection>

Then reference the array by its id.

远昼 2024-12-03 09:38:00

在代码中的某个位置:

var ac : ArrayCollection = new ArrayCollection();
var newItem : Items = new Items();
newItem.name = 'some value';
newItem.count = 1;
ac.addItem(newItem);
newItem = new Items();
newItem.name = 'some other value';
newItem.count = 2;
ac.addItem(newItem);
newItem = new Items();
newItem.name = 'Yet another value';
newItem.count = 3;
ac.addItem(newItem);
...

ArrayCollections 的类型与 Vector 的类型不同可能毫无价值,因此您无法强制集合中的所有项目都为 Items 类型。 [除非您以某种方式扩展 ArrayCollection 并重写 addItem / addItemAt 方法以在类型错误时抛出错误。

Somewhere in your code:

var ac : ArrayCollection = new ArrayCollection();
var newItem : Items = new Items();
newItem.name = 'some value';
newItem.count = 1;
ac.addItem(newItem);
newItem = new Items();
newItem.name = 'some other value';
newItem.count = 2;
ac.addItem(newItem);
newItem = new Items();
newItem.name = 'Yet another value';
newItem.count = 3;
ac.addItem(newItem);
...

It may be worth nothing that ArrayCollections are not typed in the same way that a Vector may be, so there is nothing you can do to force all items in your collection to be of the Items type. [Unless you extend ArrayCollection somehow and override the addItem / addItemAt methods to throw errors if the type is wrong.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文