迭代一系列元组

时间:2015-11-10 23:47:18

标签: arrays swift

我试图使用索引迭代一组元组。

继承我的阵列:

var keyValueArray = [(name: "One", value: 1), (name: "Four", value: 4), (name: "Two", value: 2) ]

继承人我想做的事情:

func tupleArrayInsertionSort(var unsortedTupleArray: [(String,Int)]){
var key, y : Int
for i in 0..<unsortedTupleArray.count {
    key = unsortedTupleArray.[i]
}

}

但是我收到错误:无法下标类型[(String,Int)]

的值

我只想迭代元组而不是它们。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:3)

问题在于这一行:

key = unsortedTupleArray.[i]

数组和下标之间有.。它应该是这样的:

key = unsortedTupleArray[i]

但这只会让你获得元组,如果你想要取出Int,你需要访问元组中的第二个元素

key = unsortedTupleArray[i].1

现在,如果要保留元组的名称,则应将它们保留在函数声明中。然后,您可以使用.value

访问该值
var keyValueArray = [(name: "One", value: 1), (name: "Four", value: 4), (name: "Two", value: 2) ]

func tupleArrayInsertionSort(var unsortedTupleArray: [(name: String, value: Int)]){
    var key, y : Int
    for i in 0..<unsortedTupleArray.count {
        key = unsortedTupleArray[i].value
    }
}