课程来自慕课网liuyubobobo老师
可选型
- 可选型
var errorCode: Int? = nil
- 可选型的解包
// 强制解包
var errorCode: String? = "404"
"The errorCode is " + errorCode!
// 使用if解包
if let unwrappedErrorCode = errorCode {
"The errorCode is " + unwrappedErrorCode
}
// 多个可选型同时解包 --> Swift3
var errorMessage:String? = "Not found"
if let errorCode = errorCode, let errorMessage = errorMessage {
print(errorCode)
print(errorMessage)
}
// Optional Chaining
let uppercaseErrorMessage = errorMessage?.uppercased()
- nil coalesce(空合运算符)
聊聊swift语言中的“??”
var errorMessage:String? = nil
let message = errorMessage ?? "No error" // "No error"
- 可选型的实际使用
var ageInput: String = "16"
if let age = Int(ageInput), age < 20 {
print("you're a teenager")
}
- 隐式可选性
// 暂时存放一个nil,需要使用时可以直接使用
var errorMessage: String! = nil
errorMessage = "Not found"
"The message is " + errorMessage