Github链接:https://github.com/andyRon/LearnSwift/blob/master/Tips/Swift中optionals使用总结.md
- 变量声明
1 | let optional: String? = "unicorn" |
- if let
1 | if let value = optional { |
- guard
1 | guard let value = optional else { |
- while
1 | while let value = optional { |
- 空合运算((Nil Coalescing)
1 | let value = optional ?? "nil" |
- 强制解析
1 | let value = optional! |
- switch
1 | switch optional { |
- map()
1 | let value = optional.map(String.init(describing:)) |
- flatMap()
1 | let value = optional.flatMap(URL.init(string:)) |
- compactMap()
1 | let values = optionals.compactMap { $0 } |
- 类型转换
1 | let value = optional as! String |
- 可选链
1 | let value = optional?.uppercased() |
- for
1 | for element in optionals { |
- for case let
1 | for case let optional? in optionals { |
- forEach
1 | optionals?.forEach { value in |
- 错误转换成optional
1 | try? aThrowingCall() |