2015-12-02 76 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