Swift 2 - Pattern matching in "if" Swift 2 - Pattern matching in "if" swift swift

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)}