二维数组声明中迅速
我现在有下面的代码:二维数组声明中迅速
var items: [[String, UIImage]] = [["String", UIImage(named: "image")]]
与expected ']' in array type
,consecutive declarations on a line must be separated by ';'
,expected declaration
,class ViewController has no initializers
出错误。
当我像var items: [[]] = [["String", UIImage(named: "image")]]
导致Expected Element type
代码时。
当我在类型注释(var items = ...
)中输出[[]]
时,它会导致错误,并告诉我type of expression is ambiguous without more context
。
我该怎么做?我希望它是一个数组,而不是一个字典(上面的例子中的字符串不是键,UIImage不是值)。
问题是您正试图在数组中存储两个不同类型的值。你可以把它们放在一个元组,然后将它们添加到数组,像这样:
var items: [(String, UIImage)] = [("String", UIImage(named: "image")!)]
对于二维数组,只需指定一个类型。
var items: [[AnyObject?]] = [["String", UIImage(named: "image")]]
请你解释一下。 – Adam
我认为你不能让一个阵列多种类型,使用字典而不是数组 – Drizztneko
你不能让任何类型的数组? – Simon