swift 系统学习 05 聚合(空合)解包 链式解包 可选型和元组的结合
2017-03-01 14:15
381 查看
//: Playground - noun: a place where people can play import UIKit /* * 本节内容: * 1.可选型的nil聚合(Nil-Coalescing)解包 * 2.可选型的链式(Optional Chaining)解包 * 3.可选型和元组的结合 */ var errorMessage: String? // 需求: 如果可选型有值, 获取非nil的值; 如果为nil, 给定默认的值 // 使用三目运算符实现需求, 结果:errorMsg是String? let errorMsg = errorMessage == nil ? "No Error" : errorMessage print(errorMsg) // nil聚合解包: 实现需求, 又包含解包的过程 let errorMsgNew = errorMessage ?? "No Error" // 需求:对象的属性是可选型(对象), 调用可选型对象的方法(前提这个可选型不能为nil) // 可选型的链式表达: 不需要判断该可选型是否为nil errorMessage?.uppercased() // 可选型和元组结合 var tupleOne: (errorCode: Int, errorMessage: String?) = (404, "Not Found") // tupleOne不是可选型, 不能赋值nil // tupleOne = nil tupleOne.errorMessage = nil var tupleTwo: (errorCode: Int, errorMessage: String)? = (404, "Not Found") tupleTwo = nil // tupleTwo?.errorMessage = nil var tupleThree: (errorCode: Int, errorMessage: String?)? = (404, "Not Found") tupleThree = nil tupleThree?.errorMessage = nil var newMessage: String? newMessage = "hello" // 初始化/赋值
相关文章推荐
- Swift 系统学习 02 字符串 元组 给元组分量命名
- swift 系统学习 03 三目 区间运算符 开区间 闭区间 和三目类似的还有一个空合/聚合运算符
- Swift学习之六:元组(Tuples)
- Swift学习笔记(2)--元组(Tuples)、Optional(可选值)、(Assertions)断言
- IOS学习笔记05_1-Swift-如何定义类和类的构造方法、重载方法
- swift学习2 元组 tuples
- swift 学习笔记 - 数组,字典,元组
- python 系统学习笔记(六)---元组
- 02-Swift学习笔记-元组类型
- swift学习之元组
- Swift学习笔记(四)——高级数据类型之元组详解
- swift学习记录(元组tuples)
- Swift学习——格式控制符和元组流程控制(二)
- python学习笔记05-序列,元组
- swift学习日志-1基础篇 常量变量 布尔值 元组
- Swift学习05-optional可选类型
- Swift学习之六:元组(Tuples)
- 【Swift】学习笔记(一)——初识 基础数据类型,代码风格,元组,断言
- Swift学习笔记1---变量和元组
- Programming Ability Test学习 3-05. 求链式线性表的倒数第K项(15)