Swift 2: coincidencia de patrones en "if"
if case sql (1)
Todo lo que realmente significa es que si las declaraciones ahora admiten la coincidencia de patrones como ya lo han hecho las declaraciones de cambio. Por ejemplo, lo siguiente es ahora una forma válida de usar las 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 es ahora una forma aceptable de verificar si
someInteger
está dentro de un rango dado.
let someInteger = 42
if case 0...100 = someInteger {
// ...
}
Aquí hay un par de ejemplos más usando el patrón opcional del lenguaje de programació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)
}
Recientemente he visto la nota clave de WWDC 2015 de Apple. También miré un poco de documentación pero no puedo encontrar una sección de "coincidencia de patrones en si", cómo se escribió en una de las diapositivas que han mostrado. (Video de 68min 00seg de Apple Events )
¿Sabes a qué se refiere esto? O la sintaxis?