Swift 2 - Pattern matching in "if"
All it really means is that if statements now support pattern matching like switch statements already have. For example, the following is now a valid way of using if/else if/else statements to "switch" over the cases of an enum.
enum TestEnum { case One case Two case Three}let state = TestEnum.Threeif case .One = state { print("1")} else if case .Two = state { print("2")} else { print("3")}
And the following is now an acceptable way of checking if someInteger
is within a given range.
let someInteger = 42if case 0...100 = someInteger { // ...}
Here are a couple more examples using the optional pattern from The Swift Programming Language
let someOptional: Int? = 42// Match using an enumeration case patternif case .Some(let x) = someOptional { print(x)}// Match using an optional patternif case let x? = someOptional { print(x)}