为什么sort([1,2,3]){true}在Swift中不起作用?

时间:2014-06-04 13:35:09

标签: swift

我知道这个例子完全没用并且做作,但我试图更好地了解如何在Swift中处理值,我不明白为什么以下代码会返回错误。

var notSorted = sort([1,2,3,4]){true}

1 个答案:

答案 0 :(得分:4)

sort的第二个参数的类型为(T, T) -> Bool,但您提供的是() -> Bool,即没有返回true的参数的闭包。

当然这两种类型不匹配,你理所当然地得到编译时错误。

这样的事情会起作用:

var notSorted = sort([1,2,3,4]){_ in true}

顺便说一句,该闭包具有反转阵列的效果。如果你想要执行一个nop,你必须放false