Следующий код в Swift playground или Console App:
let letters = ["A", "B", "C"]
letters.filter({
(x : String) -> Bool in
println("PRINT: \(x)")
return true
})
Распечатывает:
PRINT: A
PRINT: B
PRINT: C
PRINT: A
PRINT: B
PRINT: C
Почему он дважды перебирает коллекцию?