在 Dictionary 的速记符号中,您似乎不能使用命名元组。是这样吗?
例如:
var dt = Dictionary<Int, (x:Double, y:Double)>()
var dtShort = [Int: (Double, Double)]()
var dtShortNamed = [Int: (x:Double, y:Double)]()
前两行有效,第三行触发错误“类型名称后预期的成员名称或构造函数调用”
这是正确的,还是我遗漏了什么?
最佳答案
你是对的,它似乎在 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)>()
关于dictionary - Swift 中带有命名元组的速记字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25880583/