Flex學習筆記(二)

2021-08-26 01:17:16 字數 1469 閱讀 7697

學習在一點點進行,雖然戰線長了點,但學了總比沒學強!

早上醒來看了會actionscript3 ,有幾個地方要記下,以後注意不要弄錯了:(學習文件:《flex與actionscript程式開發》)

1、檢測arraycollection是否存在某物件:

要檢查arraycollection中是否存在複雜物件,需要比較兩個物件的值,例如:

private function checkitem():int

i ++;

}return -1;

}

不能用:

ac.contains()

ac.getitemindex()

因為contains和getitemindex方法都是比較物件的指標,而不是值。

2、強型別與弱型別的資料複製

弱型別使用等號將值賦給另乙個變數就可以,但強型別直接等號賦值僅僅是為新物件建立了乙個指標。當源資料變化時,複製的物件也會變化。例如

var objone:object = };

var objtwo:object = objone;

objone.data.first="d";//對原始物件的修改,也會在新物件反應出來

alert.show(objtwo.data.first);//輸出 d

正確的做法是用mx.utils.objectutil類得copy方法。該方法接受乙個物件作為引數,而返回乙個內在的新位置的物件的深度複製而不是複製指標。如:

var objone:object = };

var objtwo:object = objectutil.copy(objone);

objone.data.first="d";//不會影響第二個

alert.show(objtwo.data.first);

對於某一具體集合型別可以用:

var ac2:arraycollection = objectutil.copy(ac1) as arraycollection;

var xmldata2:xml = objectutil.copy(xmldata1) as xml;

如果乙個複雜的arraycollection資料是用object物件構建出來的(為object的屬性賦值並使用arraycollection的additem方法新增),那麼使用上述方法得到的複製資料有可能不是預期的值。這時就要使用複製資料的另乙個方法:遍歷原資料,迴圈建立object並為屬性賦值,使用additem方法構建另乙個arraycollection資料物件。

Flex布局之學習筆記二

這篇講的是容器裡面元素的屬性設定 1,order order 定義元素的排列順序。數值越小,排列越靠前,預設為02,flex grow flex grow default 0 定義元素的放大比例,預設為0,即如果存在剩餘空間,也不放大。3,flex shrink flex shrink defaul...

flex學習筆記

2.mxml中類例項 class instance 和屬性 property 的區別 關鍵是看命名空間後面第乙個字母的大小寫。如果第乙個字母是大寫,例如button中的b,就說明這行 引用的是乙個類的例項。如果第乙個字母是小寫,例如label中的l,就說明是在設定乙個類的屬性。3.在mxml中,資料...

flex學習筆記

一 獲取當前時間 var dt date new date 二 date string var temp string dt.fullyear.tostring dt.month 1 tostring dt.date.tostring dt.hours.tostring dt.minutes.tos...