我正在寫數據到一個新的ByteArray並存入LocalStore爲什麼此ByteArray實驗崩潰AIR
var ba:ByteArray = new ByteArray;
ba.writeObject(theobject);
EncryptedLocalStore.setItem(MY_VAL_STORE, ba); //bytes in local store
作爲一個實驗,我試圖把第一個2線成單行線,所以我正在使用這種語法(我基本上把新的ByteArray放在括號內,並立即使用它)。
var ba:ByteArray = (new ByteArray).writeObject(theobject) as ByteArray;
EncryptedLocalStore.setItem(MY_VAL_STORE, ba); //bytes in local store
但是這使我的AIR應用程序在運行時崩潰。如果我回到2線,它工作正常。我意識到這不是什麼大不了的事,但我很好奇爲什麼這個創意語法不起作用。有任何想法嗎?
note:在單行版本中,如果我不添加as ByteArray
,它會抱怨我試圖使用void和ByteArray類型。
感謝您的解釋。所以我猜我運氣不好,因爲'writeObject()'不會返回這個'' – sameold
確切地說。當然,您可以擴展ByteArray並創建自己的'fromObject(obj:Object)'包裝方法('writeObject(obj);'和'return this;')。但除非你更頻繁地使用它,否則這不會是更少的代碼行。 ;) – weltraumpirat