在OC里判断字符串长度是否大于0时,我们还要判断字符串是不是可能为nil。但是在Swift里,一个为String类型的变量是不可能为nil的,只有可选类型的变量才有可能是nil。所以:
字符串判断:
if tempString.characters.count > 0 {
print("字符串长度大于0")
}
else{
print("字符串长度为0")
}
可选类型字符串判断:
var myString: String?
if myString != nil {
if (myString?.characters.count)! > 0{
print("字符串不为nil,长度大于0")
}
else{
print("字符串为nil,长度等于0")
}
}
else{
print("字符串为nil")
}
但是这段代码不够简洁,有的时候我们只对字符串长度大于0进行操作,则可以使用下面的代码:
var myString: String?
if let stringCount = myString?.characters.count, stringCount > 0 {
print("字符串不为nil,长度大于0")
}
else{
print("可能字符串为nil,或者字符串不为nil但是长度为0")
}
可选绑定会在等式右边为nil的时候进入添加的第二个分支,如果不为nil,那么就会创建常量把等式右边结果赋值给这个常量,然后通过判断常量就可以了。