Optional Chaining 与 Nil Coalesce 操作
var errorMessage : String? = "Not Found"
//可选型的而第一个操作
optional chaining
对象?.(返回可选性的方法)?.(返回可选性的方)?...避免不停的if判断解包
errorMessage?.uppercaseString
var uppercaseErrorMessage = errorMessage?.uppercaseString
if uppercaseErrorMessage == errorMessage?.uppercaseString{
errorMessage
}
可选型的第二个操作
nil coalesce
开发中我们常常需要给错误信息赋值,例如 errorCode,如果可选性errorCode没有值 则令 errorCode = 0 表示没有错误
var errorCode : String? = nil
let error : String
//方法1 - 解包
if let errorCode = errorCode{
error = errorCode
}else{
error = "no error"
}
//方法2 三目运算
let error2 = errorCode == nil ? "no error" : errorCode
//方法3 nil coalesce message3就是取errorCode的值,如果取不到就去取"no error",语意简易明了 建议第三种
let error3 = errorCode ?? "no error"