我想要做的是將firstCard
的圖像設置爲與名稱對應於firstCardString
的圖像文件相同。無法轉換類型'[String]?'的值到期望的參數類型「字符串」
例如,在下面的情況下,代碼可以設置self.firstCard.image
以顯示名爲「card1」的圖像,如果它隨機選取它(爲了簡潔,我已經剪切了數組的其餘部分,完整的東西包含52個對象)。
var deckArray = [
"card1": ["Bear","Ball"],
"card2": ["Bear","Ball"],
"card3": ["Bear","Ball"],
"card4": ["Bear","Ball"],
"card5": ["Bear","Ball"],
"card6": ["Bear","Ball"],
"card7": ["Bear","Ball"],
]
let firstRandomNumber = Int(arc4random_uniform(52))+1
let firstCardString = deckArray["card\(firstRandomNumber)"]
self.firstCard.image = UIImage(named: firstCardString)
相反,我發現了以下錯誤:
Cannot convert value of type '[String]?' to expected argument type 'String'
我不完全知道這是什麼錯誤消息意味着,什麼是[String]?
?
但是,如果使用'self.firstCard.image =的UIImage(命名爲:「卡\(firstRandomNumber)」)',不就是企圖firstCard設置是隻之間的隨機數的圖像名稱1和52,而不是將其設置爲與該索引號相對應的鍵(「card4」)? – TheDudeGuy
圖像名稱將爲「card1」或「card3」或「card5」。請在名稱中看到「卡」字樣?緊接着是'\(firstRandomNumber)',它將在「card」一詞後面插入數字。 – andyvn22
@ andyvn22請回答相同的相關問題在這裏http://stackoverflow.com/questions/42733225/cannot-convert-the-value-of-type-string-to-expected-argument-type-string –