Очевидно, что я отвлекся, когда ответил на этот вопрос, и не прочитал его достаточно внимательно.Нет, вы пишете выражение с 2 необязательными связывающими операторами if let
, где только один из них будет истинным.
вы не можете сказать
, если let x = y let a = b
кажется, что самый чистый способ сделать это с помощью else:
if let x = y { code }
else if let a = b { other code }
Предыдущий ответ, который не ответил на заданный вопрос:
Да, вы можете комбинироватькратные операторы if let:
var x: Int? = 1
var y: String? = ""
var z = 2
if let x = x,
let y = y,
z == 2 {
//do stuff
}
Приведенный выше блок if будет выполняться, только если x и y не равны nil (и z == 2)
Еще лучше, каждый последующий if let
необязательная привязка может использовать необязательную, развернутую с предыдущей if let
.