這行代碼似乎會造成問題爲什麼我快速動態投射失敗?
{
gymnastTables.gymnastsArray = defualts.objectForKey("Gymnasts") as Array
}
爲什麼我得到一個沮喪的錯誤?
這行代碼似乎會造成問題爲什麼我快速動態投射失敗?
{
gymnastTables.gymnastsArray = defualts.objectForKey("Gymnasts") as Array
}
爲什麼我得到一個沮喪的錯誤?
objectForKey
有返回類型:AnyObject?
因此它可能是nil
您可以先通過as AnyObject!
解開它喪氣後Array
gymnastTables.gymnastsArray =
defualts.objectForKey("Gymnasts") as AnyObject! as Array<AnyObject>
你沒有提到Array
類型,所以我添加AnyObject
這將永遠是真的
在斯威夫特,你有指定Array
包含什麼類型的,要麼喜歡Array<Gymnast>
或[Gymnast]
。
可能已經完成,沒有足夠的代碼來說明。 – zaph 2014-09-01 23:43:51
我想你應該發佈更多代碼並報告完整的錯誤消息。乍一看,我想說錯誤是由於「體操運動員」對應的值不是一個數組而導致的。你有沒有嘗試將它保存到一個單獨的變量並檢查出來? – Antonio 2014-09-01 21:05:27
調試:如果可能,請使用最少的代碼減少問題以產生問題。在這種情況下,'gymnastTables.gymnastsArray'比''let x''更復雜,用於測試。是否讓'x = defuals.objectForKey(「Gymnasts」)作爲Array'工作? 'defaults'好嗎?是否有''Gymnasts''元素(你可以檢查默認文件)。 – zaph 2014-09-01 23:43:17