Optional 可选值

Optional

Optional 可选值

  • Optional 是 Swift 的一大特色,也是 Swift 初学者最容易困惑的问题
  • 定义变量时,如果指定是可选的,表示该变量可以有一个指定类型的值,也可以是 nil
  • 定义变量时,在类型后面添加一个 ?,表示该变量是可选的
  • 变量可选项的默认值是 nil
  • 常量可选项需要设置一个初始值,主要用于在构造函数中
//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算
var num: Int? = 10
  • 如果 Optional 值是 nil,不允许参与计算
  • 只有解包(unwrap)后才能参与计算
  • 在变量后添加一个 !,可以强行解包

注意:必须要确保解包后的值不是 nil,否则会报错

//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算
var num: Int? = 10

//: 如果 num 为 nil,使用 `!` 强行解包会报错
var r1 = num! + 100

常见错误

unexpectedly found nil while unwrapping an Optional value

翻译

在[解包]一个可选值时发现 nil

?? 运算符

  • ?? 运算符可以用于判断 变量/常量 的数值是否是 nil,如果是则使用后面的值替代
  • 在使用 Swift 开发时,?? 能够简化代码的编写
var num: Int? = 10

let r1 = (num ?? 0) + 10
print(r1)

json文件链接:

https://api.weibo.com/2/statuses/home_timeline.json?access_token=2.00cYTHKGHKLM7C099c96da239wOtqC


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值