在Swift中,因爲有可選項的存在,當我們用到一個可選項類型時,可以用if let進行可選項展開,也可以判斷是否爲nil,然後再強制展開使用,代碼如下:
var name:String?
//方法1
if let n = name {
//如果name不爲nil,則執行這裏,這裏直接使用n,是解包後的
print(n)
} else {
//如果name爲nil,則執行這裏
}
//方法2
if name == nil {
//這裏還要強制解包
print(name!)
} else {
}
可以明顯的看到第一種方法更方便,尤其是在需要多重判斷時,第一種方法大大的簡化if的嵌套。但是有時候,我們不僅僅需要判斷name是否爲nil,還要判斷其長度是否大於5,就要再加一層if判斷,而逗號可以將可選項轉換轉化爲Bool值,並減少一層嵌套。如下:
//方法1
if let n = name{
if n.count > 5 {
} else {
}
} else {
}
//方法2
if let n = name , n.count > 5 {
} else {
}
方法1,是常規的判斷方法。
方法2,先進行可選項展開,成立的話,再加上其他判斷。明顯第二種更簡潔。
方法2還可以多個值連接,代表所有展開都成功才執行,如下:
if let a = a, let b = b, let c = c, let d = d, e < 0, f > 0 {
...
}