Is there also a possibility to use the 'where' keyword in another place then a switch? Can I use it in a for in loop for example?
I have an array with bools, all with a value, can I do something like this:
var boolArray: [Bool] = [] //(...) set values and do stuff for value where value == true in boolArray { doSomething() }
This would be a lot nicer than use an if, so I am wondering if there is a possibility to use where in combination with a for-loop. Ty for your time.
You use where in Swift to filter things, kinda like a conditional. In various places throughout Swift, the “where” clause provides a constraint and a clear indicator of the data or types you want to work with. What's so special about where – as you'll soon see – is its flexible syntax.
Swift has a helpful stride() , which lets you move from one value to another using any increment – and even lets you specify whether the upper bound is exclusive or inclusive.
Swift break statement with nested loops We can also use the break statement inside a nested loop. If we use break inside the inner loop, then the inner loop gets terminated. If we use break outside the inner loop, then the outer loop gets terminated.
In Swift 2, new where
syntax was added:
for value in boolArray where value == true { ... }
In Pre 2.0 one solution would be to call .filter
on the array before you iterate it:
for value in boolArray.filter({ $0 == true }) { doSomething() }
A normal for-loop
will iterate all elements present in the list. But sometimes we want to iterate only when data satisfy some condition, there we can use where
clause with for -loop
. It's just a replacement of if
condition inside the loop.
For example:
let numbers = [1,2,3,4,5,6,7] for data in numbers { if (data % 2 == 0) { print(data) } }
can be rewritten in the simpler way as:
for data in numbers where data % 2 == 0 { print(data) }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With