У меня есть часть кода, которую я хотел бы выполнить, если переменную можно отличить как один из двух типов.Как я могу использовать оператор OR с дополнительной привязкой?
if let myOptional = variableToCast as! firstTypeToTryToCastAs ||
let myOptional = variableToCast as! secondTypeToTryToCastAs {
//Execute some code
}
Однако, Swift (начиная с версии 2.0), по-видимому, этого не допускает. Я ищу способ сделать это, не создавая два отдельных блока if
.
В моем коде используется только супер-тип, поэтому код, относящийся к обоим типам, одинаковый. Однако я не могу использовать его для супер-типа, потому что я не хочу, чтобы код выполнялся, если переменнаяToCast является одним из многих других возможных типов, которые также получены из одного и того же супер-типа.
Очень хороший ответ. – JeremyP