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)")
直接在变量后用叹号来描述该变量,我们视之为隐性拆包,问题和强制拆包一样,如果变量为空, 一样会报错。


来自为知笔记(Wiz)


你可能感兴趣的:(Swift 可选型、拆包、强制拆包与隐性拆包)