swift 系统学习 05 聚合(空合)解包 链式解包 可选型和元组的结合

本文介绍Swift中处理可选型的三种方法:nil聚合解包、可选链解包及可选型与元组的结合使用。通过具体代码示例展示了如何有效地管理可选值,提高代码的健壮性和易读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//: 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" // 初始化/赋值






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值