Swift可选类型操作总结

在Swift开发过程中,经常会用到可选类型。有时候使用可选类型还真麻烦。那怎么更好地使用可选类型,根据个人的工作经历总结了一点经验。

概念

可选类型。通俗地讲,变量被一个箱子包裹起来。我们平常的操作都是针对外表的箱子,不会操作到箱子里面的变量,并且这个箱子可能存在空的情况(即为nil)。当我们直接使用可选类型的时候将有可能出错,因为直接操作了外表的箱子,而不是实际变量。如下图所示:

那么如何解决这个问题呢? --根本的方法就是,打开箱子,针对里面的变量操作(即对变量进行解包)

解包

解包,就是打开外面的箱子,取出里面实际数据并操作之。

在工作过程中总结了三种解包的方式。

方法一:可选类型绑定(Optional binding)

具体实例如下

if let n = name {
   print("n != nil")  //n就是非可选类型了
} else {
   print("name为nil")
}

此实例中n就是解包之后的实际值,就可以直接操作n变量。

方法二:guard let else方式

具体实例如下​​​​​​​

guard let uname = username else {
  print("error")
  return
}
if uname.isEmpty {   //uname作为String(非可选类型)操作
    print(" no Empty")
}

此实例中uname就是解包之后的实际值,就可以直接操作uname变量。

方法三:??操作符方式​​​​​​​

let numbers:Int? = nil 
let num = numbers ?? 0
if num == 10 {//num作为Int(非可选类型)操作
   print("ok")
}

let username:String? =nil 
let name = username ?? " "
if name.isEmpty {
   //name作为String(非可选类型)操作
   //username.isEmpty 是会编译失败的
   print("\(name)")
}

此实例,本质是把可选类型通过??操作符转换成非可选类型,非可选类型是可以直接操作。

以上就是关于可选类型的总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员华仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值