Swift 系统学习 16 可选值 本质是枚举 (理解)
来源:互联网 发布:cntk python版本安装 编辑:程序博客网 时间:2024/06/05 16:40
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容(理解): * 1.可选型本质是枚举类型 *//* * 1.可选型是新的类型 --> Optional枚举类型 * 2.和其他类型结合使用 --> Optional枚举类型包含泛型语法 * 3.只有可选型才可以赋值为nil --> Optional枚举类型有none这个case */// 数组的声明: 简化形式/复杂形式var arrayOne: [Int] = []var arrayTwo = Array<Int>()var arrayThree: Array<Int> = []/* * 可选型本质是枚举类型, 声明如下: enum Optional<Wrapped> { case none case some(Wrapped) } */// 简化形式(推荐)var stringOne: String? = "hello"print(stringOne)// 可选型完整显示声明(不推荐)var stringTwo: Optional<String> = Optional.none // 等价于nilprint(stringTwo)var stringThree: Optional<Int> = Optional.some(10) // 等价于10print(stringThree)// 简化形式一:stringThree = .some(20)print(stringThree)// 推荐的最简化形式二:stringThree = 30print(stringThree)// 从枚举类型角度, 查看强制解包stringThree!// 完整形式(预计)switch stringThree {case .some(let value): // case let .some(value): print("value is \(value)")case .none: print("抛出异常Exception")}// 从枚举类型的角度, 查看if let解包var stringFour: String? = "swift"if let stringFour = stringFour { print("stringFour is \(stringFour)")} else { print("stringFour is nil")}switch stringFour {case .some(let value): print("stringFour is \(value)")case .none: // break print("stringFour is nil")}// nil聚合let string: String? = "world"var displayLabel: UILabel?displayLabel?.text = string ?? "default"// 完整形式if string != nil { displayLabel?.text = string} else { displayLabel?.text = "default"}
0 0
- Swift 系统学习 16 可选值 本质是枚举 (理解)
- Swift 系统学习 15 枚举
- swift学习可选类型
- swift 系统学习 04 可选值 解包 解包的几种方式
- Swift 必须是可选值的情况&不能是可选值的情况
- Java 枚举:理解枚举本质
- Java 枚举:理解枚举本质
- Java 枚举:理解枚举本质
- swift 可选值?
- swift 可选值
- Swift 可选值
- Swift 可选值
- swift 可选值模式
- Swift学习:4.可选类型
- Swift学习:2.17 可选链
- Swift学习笔记系列——(16)可选链
- Swift学习之七:Optional value(可选值)
- Swift学习之七:Optional value(可选值)
- opencv mac 报错 'QTKit/QTKit.h' file not found 解决方案
- LAMP环境的搭建(yum安装)
- 小悟:react + redux + react-router+ ES6/7 + webpack 技术栈
- prototype _proto_ new的过程
- Lesson45 A clear consicience
- Swift 系统学习 16 可选值 本质是枚举 (理解)
- qt博客参考
- K3 BOS 表单插件开发
- 事务TransactionStatus的RollbackOnly属性的作用
- 数据库设计经验谈
- linux socket编程 出现信号SIGPIPE,分析及解决
- ros下分布式的调试和节点
- Android Intent隐式调用之intent-filter匹配规则
- 题目1181:遍历链表