在Swift中使用命名元组的速记词典

时间:2014-09-17 00:44:50

标签: dictionary swift tuples

似乎你不能在Dictionary的简写符号中使用命名元组。是这样吗? 例如: -

var dt = Dictionary<Int, (x:Double, y:Double)>()
var dtShort = [Int: (Double, Double)]()
var dtShortNamed = [Int: (x:Double, y:Double)]()

前两行有效,第三行触发错误“类型名称后的预期成员名称或构造函数调用”

这是正确的,还是我错过了什么?

1 个答案:

答案 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)>()