Flex中的set啊Flex中的set

2021-08-26 16:04:03 字數 1406 閱讀 8660

flex中的set啊flex中的set

2023年10月17日

flex中的set function就是給屬性賦值的,說起來簡單,但是遇到乙個相關的bug還真暈。其實幾天前就遇到類似問題了,我沒有深究,趕進度嘛。今天晚上alan修乙個bug的時候又遇到了,作為小leader,我就得幫他解惑。正好自己也研究下,就算晚上沒白等qa做build了。剛剛又上網找了找,還真沒類似的文章,那我這個算原創了吧?哇咔咔……和大家分享吧,說不定有誰遇到類似的問題,痛苦半天呢。(已經知道答案的也不要鄙視我,畢竟我也是新手不是?)

問題:flex中的set在什麼情況下不起作用?

言歸正傳,先說說這個問題的由來吧:

modellocator.getinsternce().buildmodel.selectedbui ldvo = vo;

就是**中的這句話,設了斷點怎麼也跑不進去(selectedbuildvo是乙個set function)在這個set中,有一點邏輯來處理vo中的一些資料的,從而改變繫結在頁面上的乙個物件。

不繞彎子了,上面那個問題的答案是:當set中的值在記憶體中的位址和所要賦值的物件的位址一樣時,也就是說,selectbuildvo和vo的位址一樣時(同乙個物件),這個set不起作用,當然,set中的邏輯也不會跑起來。這個和函式還是不一樣的,function的話,什麼時候呼叫,什麼時候就會老老實實去跑的……

同時,讓我鬱悶的是,第一次遇到這樣的情況,原來沒一點類似經驗啊,根本不會往這個地方想,呵呵。教條主義害死人啊,誰也沒和我數過給乙個set function賦值的時候一定會跑進去啊。看來以後還是需要多用方法,別什麼都省事,想用set function來實現。

作為一種習慣,我順帶把這個問題和.net中的set對比了一下,發現flex的set和.net的set還真不一樣,哈哈,.net中的set,無論什麼時候賦值,都會乖乖響應的……

*************************===

下面貼出證明上述結論的codes,先.net吧:

using system;

using system.collections.generic;

using system.text;

public string test = "test";

} class program

set

} static void main(string args) }

} 下面是flex的demo:

testvo.as檔案:

package

varpublic var test:string="test";

} }

tryset.mxml檔案:

flex/spark"

xmlns:mx="library:"

creationcomplete="init()">

Flex中的set啊Flex中的set

flex中的set啊flex中的set 2010年10月17日 flex中的set function就是給屬性賦值的,說起來簡單,但是遇到乙個相關的bug還真暈。其實幾天前就遇到類似問題了,我沒有深究,趕進度嘛。今天晚上alan修乙個bug的時候又遇到了,作為小leader,我就得幫他解惑。正好自己...

flex布局中的flex屬性詳解

一 理論 display flex 容器屬性 flex direction,flex wrap,flex flow,justify content,align items,align content 專案的屬性 order,flex grow,flex shrink,flex basis,flex,...

Flex中的文字

設定它的textalign屬性 需要限制只能顯示一行,同時給出最大的寬度 maxdisplayedlines 1 maxwidth 310 上述設定,讓文字在一行顯示,超過310畫素後用 代替,保證了頁面的規整。80 bordervisible false color ffffff contentb...