Swift 可选型、拆包、强制拆包与隐性拆包

一、可选型
为了避免控指针错误,Swift中引入了可选型的概念 Optional
如果不确定一个变量是否为空 需要在变量的后边加上?来描述这个变量的情况,如果确认该变量不为空,则可以加入!来描述该变量。
现在可以查看这段代码来学习如何将一个字符串类型的变量进行拆包
   
  1. var str:String="这是一个Swift的拆包过程"
  2. if let unwrappdStr = str{
  3. print("拆包\(unwarappStr.uppercaseString)")
  4. }else{
  5. print("str is nil")
  6. }
二、强制拆包
在你不确定你的变量是否为空的情况下,如果在变量后边加上!来描述该变量,即可称为强制拆包。
   
  1. print("拆包\(unwarappStr!.uppercaseString)")
这样代码确实简化,但是随之而来的问题就是如果变量为空,就会报错。

三、隐形拆包
   
  1. var str:String!="这是一个Swift的拆包过程"
  2. print("拆包\(unwarappStr.uppercaseString)")
直接在变量后用叹号来描述该变量,我们视之为隐性拆包,问题和强制拆包一样,如果变量为空, ​一样会报错。




转载于:https://my.oschina.net/t5xgkow/blog/509993

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值