Swift 可选项用法(Optional)

2021-07-27  本文已影响0人  _发强

就是声明一个可为 nil 的类型,然后需要注意一些使用过程中的语法,

let str: String? = "abc"
// 用法1  直接进行判断
if str != nil {
    let count = str!.count
    print(count)
}

// 用法2  使用绑定的方式
if let s = str {
    // 如果 str 不是空,则把值赋给 s 然后执行大括号里的内容。
    let count = s.count
    print(count)
}

// 用法3  强制展开
let count = str!.count   // 这里的问题,就是如果 str为 nil 的时候,就异常了, 除非你确定知道他不为 nil

可选项原理探究

String? 等同于 Optional<String>, 泛型类型为 String, 相关代码如下:

// 可选项原理探究
let str11: Optional<String> = "abc22"
// 等同于 str11: String?
if str11 != nil {
    let count = str11.unsafelyUnwrapped.count
    print(count)
}

上一篇下一篇

猜你喜欢

热点阅读