Как развернуть Optional, когда кортежи сопоставления с образцом в Swift?
В Свифте есть общееif let
шаблон, используемый для развертывания опций:
if let value = optional {
print("value is now unwrapped: \(value)")
}
В настоящее время я делаю такой тип сопоставления с образцом, но с кортежами в случае переключателя, где оба параметра являются необязательными:
//url is optional here
switch (year, url) {
case (1990...2015, let unwrappedUrl):
print("Current year is \(year), go to: \(unwrappedUrl)")
}
Тем не менее, это печатает:
"Current year is 2000, go to Optional(www.google.com)"
Есть ли способ, с помощью которого я могу развернуть необязательное соответствие и шаблонное совпадение, только если оно не равно нулю? В настоящее время мой обходной путь заключается в следующем:
switch (year, url) {
case (1990...2015, let unwrappedUrl) where unwrappedUrl != nil:
print("Current year is \(year), go to: \(unwrappedUrl!)")
}