Swift 2 – Coincidencia de patrones en “si”

Recientemente, vi el discurso inaugural de la WWDC 2015 de Apple. También miré cierta documentación pero no puedo encontrar una sección de “coincidencia de patrón en si”, cómo estaba escrita en una de las diapositivas que han mostrado. (Video de 68 minutos a 00 segundos de Apple Events )

¿Sabes a qué se refiere esto? O la syntax?

Todo lo que realmente significa es que si las declaraciones ahora admiten la coincidencia de patrones como las declaraciones de conmutación ya tienen. Por ejemplo, lo siguiente es ahora una forma válida de usar declaraciones if / else if / else para “cambiar” sobre los casos de una enumeración.

enum TestEnum { case One case Two case Three } let state = TestEnum.Three if case .One = state { print("1") } else if case .Two = state { print("2") } else { print("3") } 

Y lo siguiente ahora es una forma aceptable de verificar si someInteger está dentro de un rango determinado.

 let someInteger = 42 if case 0...100 = someInteger { // ... } 

Aquí hay un par de ejemplos más utilizando el patrón opcional de El lenguaje de progtwigción Swift

 let someOptional: Int? = 42 // Match using an enumeration case pattern if case .Some(let x) = someOptional { print(x) } // Match using an optional pattern if case let x? = someOptional { print(x) }