Могу ли я использовать "where" внутри цикла for-swift?
Есть ли возможность использовать ключевое слово "where" в другом месте, а затем переключатель? Могу ли я использовать его в цикле for for?
У меня есть массив с bools, все со значением, могу ли я сделать что-то вроде этого:
var boolArray: [Bool] = []
//(...) set values and do stuff
for value where value == true in boolArray {
doSomething()
}
Это было бы намного лучше, чем использовать if, поэтому мне интересно, есть ли возможность использовать, где в сочетании с for-loop. Тай для вашего времени.
Ответы
Ответ 1
В Swift 2 был добавлен новый синтаксис where
:
for value in boolArray where value == true {
...
}
В Pre 2.0 одним решением было бы вызвать .filter
в массиве, прежде чем вы его выполните:
for value in boolArray.filter({ $0 == true }) {
doSomething()
}