似乎你不能在Dictionary的简写符号中使用命名元组。是这样吗?
例如: -
var dt = Dictionary<Int, (x:Double, y:Double)>()
var dtShort = [Int: (Double, Double)]()
var dtShortNamed = [Int: (x:Double, y:Double)]()
前两行有效,第三行触发错误“类型名称后的预期成员名称或构造函数调用”
这是正确的,还是我错过了什么?
答案 0 :(得分:2)
你是正确的,它似乎在Xcode 6 GM或Xcode 6.1 Beta 2中以这种方式工作。
如果您使用typealias
,它确实有效:
typealias NamedTuple = (x:Double, y:Double)
var dtShortNamed = [Int: NamedTuple]()
但是,在这种情况下,你可以使用你的第一个例子:
var dt = Dictionary<Int, (x:Double, y:Double)>()