Swift 进阶【三】可选值
Swift 中可选值的定义如下
1 | enum Optional<Wrapped> { |
因为 Optional
是枚举类型,所以有的时候可以用模式匹配来进行一些巧妙的操作:
- 使用 if case 来进行模式匹配,对非 nil 的值做 for 循环
1 | let ary = [1, 2, nil, 4, nil, 44] |
- 或者只对 nil 值进行循环
1 | for case nil in ary { |
这里使用了 x? 这个模式,它只会匹配那些非 nil 的值。这个语法是 .Some(x) 的简写形式,所以该循环还可以被写为:
1 | for case let .some(i) in ary { |