¿Cómo desenvuelvo un Opcional cuando tuplas de coincidencia de patrones en Swift?
En Swift, hay un comúnif let
patrón utilizado para desenvolver opcionales:
if let value = optional {
print("value is now unwrapped: \(value)")
}
Actualmente estoy haciendo este tipo de coincidencia de patrones, pero con tuplas en una caja de interruptor, donde ambos parámetros son opcionales:
//url is optional here
switch (year, url) {
case (1990...2015, let unwrappedUrl):
print("Current year is \(year), go to: \(unwrappedUrl)")
}
Sin embargo, esto imprime:
"Current year is 2000, go to Optional(www.google.com)"
¿Hay alguna forma de desenvolver mi coincidencia opcional y de patrón solo si no es nula? Actualmente mi solución es esta:
switch (year, url) {
case (1990...2015, let unwrappedUrl) where unwrappedUrl != nil:
print("Current year is \(year), go to: \(unwrappedUrl!)")
}