Swift中的元组的多级排序数组

iel*_*ani 0 tuples swift

我想[(Int,Int)]基于.1元素(从大到小)对元组数组进行排序,以便进行相等比较.0(从最小到最大)

我用这个:

myArray.sort{ $0.0 != $1.0 ? $0.1 > $1.1 : $0.0 < $1.0}
Run Code Online (Sandbox Code Playgroud)

但它不起作用

Mar*_*n R 5

条件表达式中的第一项是错误的.如果要先对.1组件进行排序(按递减顺序),那么$0.1 > $1.1如果这些元素不同则返回 ,否则比较.0-组件:

这应该产生预期的结果:

myArray.sort{ $0.1 != $1.1 ? $0.1 > $1.1 : $0.0 < $1.0 }
              ============
             difference here
Run Code Online (Sandbox Code Playgroud)

例:

var myArray = [ (1,1), (1,2), (2,1), (2,2)] 
myArray.sort{ $0.1 != $1.1 ? $0.1 > $1.1 : $0.0 < $1.0 }
println(myArray)
// [(1, 2), (2, 2), (1, 1), (2, 1)]
Run Code Online (Sandbox Code Playgroud)