.sort没有在Swift 2.0中工作

Yea*_*Kim 2 arrays sorting swift2

我正在尝试对我目前拥有的组合数组进行排序.它是多维数组,但我现在只需要整理出里面的数组.

for combination in myCombinations {
        combination.sort({$0 < $1})
        print("\(combination)")
    }
Run Code Online (Sandbox Code Playgroud)

这是我的代码来整理数组,这是我的结果.

["lys", "dyt", "lrt"]
["lys", "dyt", "gbc"]
["lys", "dyt", "lbc"]
Run Code Online (Sandbox Code Playgroud)

我还收到一条警告,上面写着"对'排序'的调用结果未被使用"有人可以帮我解决这个问题吗?

谢谢.

aya*_*aio 7

在Swift 2中,现在是什么sort(现在是sortInPlace什么),并且两个方法都要在数组本身上调用(它们以前是全局函数).sortedsort

当您调用combination.sort({$0 < $1})实际返回已排序的数组时,您不会对源数组进行排序.

在您的示例中,结果combination.sort({$0 < $1})未分配给任何变量,这就是编译器通过此错误消息告诉您的内容.

分配结果sort:

let sortedArray = combination.sort({$0 < $1})
print(sortedArray)
Run Code Online (Sandbox Code Playgroud)

如果要获取已排序数组的数组,可以使用map而不是循环:

let myCombinations = [["lys", "dyt", "lrt"], ["lys", "dyt", "gbc"], ["lys", "dyt", "lbc"]]

let sortedCombinations = myCombinations.map { $0.sort(<) }

print(sortedCombinations)  // [["dyt", "lrt", "lys"], ["dyt", "gbc", "lys"], ["dyt", "lbc", "lys"]]
Run Code Online (Sandbox Code Playgroud)