获取可选类型的值

2021-01-02  本文已影响0人  EngineerPan

可选绑定(解决的问题是:如何安全的获取可选类型中的数据?

Demo.swift

/// 声明一个 String 类型的可选类型
let name: String? = "Nick"
/* 可选绑定:只针对可选类型;
1. 首先对可选类型进行强制解包;
2. 将解包后获取到的值赋值给 let 修饰的常量,然后在作用域内可以直接使用;
3. 如果解包数据为nil不会进入花括号中的作用域,也不会出现运行时异常;
4. 注意:actualName 是常量,在作用域内无法修改其值
*/
if let actualName = name {
      print(actualName)
}

强制解包

Demo.swift

/// 声明一个 String 类型的可选类型
let name: String? = "Nick"
/// 使用 !运算符进行强制解包获取可选类型中的数据,如果可选类型为 nil,那么会出现运行时异常
print(name!)

守卫

Demo.swift

/* 
1. 将解包后获取到的值赋值给 let 修饰的常量,然后在作用域内可以直接使用;
2. 如果解包数据为nil则直接进入 else 语句;
3. 注意:actualName 是常量,在后续作用域中无法修改其值
*/
let name: String? = nil
guard let actualName = name else { return }
print(actualName)

guard name != nil else {
    return
}
/// 需要进行类型转换
print(name!)
上一篇 下一篇

猜你喜欢

热点阅读