Swift内联关闭错误?

时间:2016-01-11 06:11:14

标签: arrays swift sorting closures

我通过Apple提供的书学习Swift。在闭包部分,我注意到这三种方法是在sort方法中添加一个闭包,产生不同数量的迭代来对数组进行排序。

let names = ["chris", "alex", "eva", "barry", "daniella"]

let reverse1 = names.sort({ (s1: String, s2: String) -> Bool in
    return s1 > s2
})

let reverse2 = names.sort( { (s1: String, s2: String) -> Bool in return s1 > s2 })

let reverse3 = names.sort({ s1, s2 in s1 > s2 })

xcode

这是一个错误吗?因为reverse1reverse2唯一不同的是换行符。

1 个答案:

答案 0 :(得分:1)

关闭在每个场景中执行9次,第10次是打印reverse1reverse2等...如果你使用相同的闭包,但没有内联,它将完全打印与第一种情况相同: enter image description here

所以,如果你只看一个由;分隔的简单的一行声明,那就更像是一行执行了多少次:

enter image description here