我正在尝试创建名为元组的数组。 但是当我用以下行调用数组构造函数时:
var test:[(test1:Int, test2:Int)] = [test1:Int, test2:Int](count: 12, repeatedValue: (test1:12, test2:12))
我收到编译错误。我也试过了:
var test:[(test1:Int, test2:Int)] = [Int, Int](count: 12, repeatedValue: (test1:12, test2:12))
var test:[(test1:Int, test2:Int)] = [Int,Int](count: 12, repeatedValue: (12, 12))
我也遇到编译错误,我找不到正确的语法来正确实例化。
我做错了什么?
答案 0 :(得分:2)
您必须使用扩展数组声明:
var test = Array<(test1: Int, test2: Int)>(count: 12, repeatedValue: (test1:12, test2:12))
请注意,您不需要指定数组类型,因为类型推断可以解决这个问题。
或者,您也可以定义类型别名:
typealias tuple = (test1: Int, test2: Int)
var test = [tuple](count: 12, repeatedValue: (test1:12, test2:12))