2015-12-02 105 views
-4

我現在有下面的代碼:二維數組聲明中迅速

var items: [[String, UIImage]] = [["String", UIImage(named: "image")]]

expected ']' in array typeconsecutive declarations on a line must be separated by ';'expected declarationclass ViewController has no initializers出錯誤。

當我像var items: [[]] = [["String", UIImage(named: "image")]]

導致Expected Element type代碼時。

當我在類型註釋(var items = ...)中輸出[[]]時,它會導致錯誤,並告訴我type of expression is ambiguous without more context

我該怎麼做?我希望它是一個數組,而不是一個字典(上面的例子中的字符串不是鍵,UIImage不是值)。

+0

我認爲你不能讓一個陣列多種類型,使用字典而不是數組 – Drizztneko

+0

你不能讓任何類型的數組? – Simon

回答

1

問題是您正試圖在數組中存儲兩個不同類型的值。你可以把它們放在一個元組,然後將它們添加到數組,像這樣:

var items: [(String, UIImage)] = [("String", UIImage(named: "image")!)] 
-1

對於二維數組,只需指定一個類型。

var items: [[AnyObject?]] = [["String", UIImage(named: "image")]] 
+0

請你解釋一下。 – Adam