如何在swift中初始化一个命名元组数组

时间:2014-09-24 11:34:34

标签: arrays syntax swift namedtuple

我正在尝试创建名为元组的数组。 但是当我用以下行调用数组构造函数时:

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))

我也遇到编译错误,我找不到正确的语法来正确实例化。

我做错了什么?

1 个答案:

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