Мы знаем, что мы можем использовать оператор if let в качестве сокращения, чтобы проверить необязательный nil, а затем распаковать.
Однако я хочу объединить это с другим выражением, используя логический оператор И &&.
Итак, например, здесь я делаю необязательную цепочку для разворачивания и, возможно, опускаю свой rootViewController на tabBarController. Но вместо того, чтобы иметь вложенные операторы if, я хотел бы объединить их.
if let tabBarController = window!.rootViewController as? UITabBarController {
    if tabBarController.viewControllers.count > 0 {
        println("do stuff")
     }
 }
Комбинированное значение:
if let tabBarController = window!.rootViewController as? UITabBarController &&
    tabBarController.viewControllers.count > 0 {
        println("do stuff")
     }
}
Вышеприведенная ошибка компиляции Использование неразрешенного идентификатора 'tabBarController'
Упрощая:
if let tabBarController = window!.rootViewController as? UITabBarController && true {
   println("do stuff")
}
Это дает ошибку компиляции Связанное значение в условной привязке должно быть необязательного типа. Проведя различные синтаксические изменения, каждый из них дает другую ошибку компилятора. Мне еще предстоит найти выигрышную комбинацию порядка и круглых скобок.
Итак, вопрос в том, возможно ли и если да, то какой правильный синтаксис?
Обратите внимание, что я хочу сделать это с помощью инструкции if  не a switch или тройного оператора ?.
