我们知道我们可以使用一条if let
语句作为简写形式来检查可选的nil,然后将其解包。
但是,我想使用逻辑AND运算符将其与另一个表达式组合&&
。
因此,例如,在这里,我进行可选的链接来解包,也可以选择将我的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")
}
这给出了编译错误。条件绑定中的绑定值必须是Optional类型。尝试了各种语法变化之后,每种变化都会产生不同的编译器错误。我还没有找到顺序和括号的组合。
因此,问题是,是否可能?如果可以,正确的语法是什么?
请注意,我想与做这个if
说法不是一个switch
语句或三元?
运营商。
var foo : Int? = 10; if let bar = foo { if bar == 10 { println("Great success!") }}
if let bar = foo && bar == 10
是Use of unresolved identifier "bar"
(bar
当然是第二个)。
bridgeToObjectiveC
已在Beta 5中消失(并且很可能从未打算用于一般用途)。2. 无论如何first
,Swift的内置Array
类型都有一个方法。