可选绑定(解决的问题是:如何安全的获取可选类型中的数据?)
Demo.swift
/// 声明一个 String 类型的可选类型
let name: String? = "Nick"
/* 可选绑定:只针对可选类型;
1. 首先对可选类型进行强制解包;
2. 将解包后获取到的值赋值给 let 修饰的常量,然后在作用域内可以直接使用;
3. 如果解包数据为nil不会进入花括号中的作用域,也不会出现运行时异常;
4. 注意:actualName 是常量,在作用域内无法修改其值
*/
if let actualName = name {
print(actualName)
}
强制解包
Demo.swift
/// 声明一个 String 类型的可选类型
let name: String? = "Nick"
/// 使用 !运算符进行强制解包获取可选类型中的数据,如果可选类型为 nil,那么会出现运行时异常
print(name!)
守卫
Demo.swift
/*
1. 将解包后获取到的值赋值给 let 修饰的常量,然后在作用域内可以直接使用;
2. 如果解包数据为nil则直接进入 else 语句;
3. 注意:actualName 是常量,在后续作用域中无法修改其值
*/
let name: String? = nil
guard let actualName = name else { return }
print(actualName)
guard name != nil else {
return
}
/// 需要进行类型转换
print(name!)
网友评论