flex4 中Array 与ArrayCollection的用法

来源:互联网 发布:软件开发人员招聘qq 编辑:程序博客网 时间:2024/06/06 01:44

1.ArrayCollection循环获得里面对象的方法:现在有一个ArrayCollection实例对象arrayCollection,进行for循环,循环时的临时变量为i

            (1)使用Array语法,表示为arrayCollection[i];

             (2)arrayCollection.getItemAt(i);

这两种方法在功能上等价,但是后者可以利用数据绑定在运行时更新组件,而且运行速度比前者要快

2.在进行数据绑定时,ArrayCollection是Array的代理(因为Array不能直接进行数据绑定),将Array转化成ArrayCollection的方法:

              var arrayCollection:ArrayCollection = new ArrayCollection(array),这时的array是Array是实例。

3.ArrayCollection的排序。ArrayCollection的实例arrayCollection,SortField中的“product”为进行排序的字段,sort对象可以接受多个排序字段对象,相关代码如下:

              var sort:Sort = new Sort();
              var sortField:SortField = new SortField("product");
             sort.fields = new Array(sortField);
             arrayCollection.sort = sort;
             arrayCollection.refresh();

4.ArrayCollection的循环遍历:

            (1)ArrayCollection可以通过for循环,for each in 进行遍历。(普遍情况)

            (2)ArrayCollection通过光标进行遍历。(注意:此时的ArrayCollection是已经按照某个字段排好序的),利用光标遍历比手工遍历快。例子如下:

                               var cursor:IViewCursor = items.createCursor();  //创建光标
                               var found:Boolean = cursor.findFirst(item);          //搜索对象
                               if(found){
                                       existingItem = cursor.current as ShoppingCartItem;        //返回想要搜索的对象
                               }

 5.做一下补充。

 与ArrayCollection是近亲的是ArrayList,它同样也可以做Array的代理进行数据绑定,但是它与ArrayCollection不同的是,它不具有排序筛选的功能。

原创粉丝点击