运行Swift 2迁移后出现此错误:
如果没有更多的上下文,表达的类型是不明确的
这一行:
HEAD
答案 0 :(得分:0)
在Swift 1.2中,编译器自动从[(String, NSNumber, Bool)]
推断出类型[String, NSNumber, Bool]
(元组数组)。
自Swift 2以来不再存在,迁移后你必须明确声明元组:
var interestItems = [(String, NSNumber, Bool)]()
答案 1 :(得分:0)
如果你打算把它变成一个" tuples"由String
,NSNumber
和Bool
组成,您可以执行以下操作:
var interestItems = [(String, NSNumber, Bool)]()
interestItems.append(("foo", 42, true))
interestItems.append(("bar", -1, true))
这会产生一个包含两个项目的数组,每个项目都是由String
,NSNumber
和Bool
组成的元组。
另一方面,如果您打算将此项目列为String
,NSNumber
或Bool
,则您必须声明它作为AnyObject
:
var interestItems = [AnyObject]()
interestItems.append("foo")
interestItems.append(42)
interestItems.append(true)
这是一个包含三个项目的数组。
我认为你的意思是前者,但这些是一些方法。