我剛剛嘗試彎曲,最近碰到了一個絆腳石鑄件。Flex 3.2鑄造問題
這是我正在運行的代碼。
/**
* return background definition depending on time
*/
private function findBackgroundItem(relativeTime : Number) : CSBackgroundItem
{
if(this.backgroundItems == null) return null;
var result :CSBackgroundItem = null;
var relative:Date = new Date(relativeTime);
for(var i : Number = 0; i < this.backgroundItems.length; i++)
{
// backgroundItems is an Ilist of CSBackgroundItem.
var colourItem : CSBackgroundItem = CSBackgroundItem(this.backgroundItems.getItemAt(i));
// other stuff here
}
return result;
}
問題當IList.getItemsAt()結果轉換到CSBackgroundItem可變colourItem發生。如果我使用'as'
關鍵字,我得到的colourItem
投結果是空以下錯誤拋出
TypeError: Error #1034: Type Coercion failed: cannot convert com.mystuff::[email protected] to com.mystuff.CSBackgroundItem.
。使用調試器顯示該列表不是空的,並確實填充了CSBackgroundItem
對象。
現在這是古怪的位..這段代碼工作,它第一次加載模塊..後續加載(卸載後)拋出異常。
任何人都可以闡明爲什麼會發生這種情況?
使用ObjectUtil.copy()與'as'關鍵字具有相同的結果,'colourItem'對象保留爲空而不是異常。 – Scrimmers 2009-05-20 07:58:11