关于Nil Coalescing Operator这个运算符,对于Swift来说也是比较新的内容,有人称之为nil的聚合运算,很多时候是和Optional可选运算符结合在一起使用的。运算符为两个问号??。我们根据一个小需求来学习这个运算符。
首先知道nil聚合运算符:a ?? b。 a ?? b等价于a != nil ? a! : b;其中这是一个三元运算符,a!是解包的过程。a定义的时候声明为Optional。
需求是这样的,一个App,需要用户输入用户名,如果输入的的确是用户名,则显示“Hello 用户名”,没有输入显示“Hello Guest”。
(解决方案一):使用if-else语句实现
var userNickName:String? //定义为可选类型
userNickName = "Jack" //输入用户名,或者不输入
if userNickName != nil{ //判断当前的可选类型是否为空
println("Hello \(userNickName!)")
}else{
println("Hello Guest!")
}
输出结果如下:
。
<