Swift2.0(4)可选类型
admin
2023-02-10 08:20:04
0
  • 可选类型

什么是可选类型?

     可以被赋予nil值的类型,在类型后添加问号(?)

     如Int类型的值为整型数,但不太好表示“空”的含义,Int?可以赋值为整型数和nil值

     如:

     var age:Int? = 3

     var name:String? = nil

使用可选类型

     print(age)    //Optional(3)

     print(age!)   //3

     !运算,用于解绑可选类型变量的值

     注意:如果age为nil,使用!解绑将使程序崩溃

     再如:

     var age1:Int? = 3

     var age2:Int;

     age2 = age1!    

隐式解绑的可选类型

     定义变量时,将?替换成为!,如:

     var age:Int! = 3

     print(age)     //3

     print(age!)    //3

  • 可选链中的解绑

如:

     class Department {

         var no : Int = 0

         var name:String = "neuedu"

         var com:Company? = nil

     }

     class Company {

         var no : Int = 0

         var name : String? = "neusoft"

     }

     var dep = Department()

     print(dep.com!.name)

     dep.com使用!解绑时,如果为nil,程序会报错崩溃

     这种情况下,可以使用?代替!解绑,如果为nil,则整个表达式为nil,即:

     print(dep.com?.name)  // nil

     可选链使用潜在的问题:使用了?解析可选链后,表达式返回的只能是可选类型

          如dep.com!.name? 想要返回的类型是String,但实际只能返回String?


相关内容

热门资讯

西门子洗衣机不工作了什么原因 西门子洗衣机不工作了什么原因1、可能是使用时间太久了,导致洗衣机内部零件出现了问题。2、可能是长时间...
不工作时西门子洗衣机一直响 1、洗衣机的电源电压过低导致西门子洗衣机一直响。2、洗衣机的电容器故障。3、洗衣机的转子卡住导致西门...
博世洗衣机泡沫过多机器不转了 可能是系统部分堵塞。要立即修复单次洗涤,在分配器抽屉上加一顶织物调节剂即可,最好在机器下次用水冲洗时...
14名残疾人用AI做了部爆款短... 执笔 王波日前,宁波众闻道软件科技有限公司负责人龙杰收到了6月份AI短剧收益报告。在公司当月上线的4...
小米洗衣机不运转了怎么修 小米洗衣机不运转,可能是由于多种原因引起的,可能是由于电源问题、电机损坏、控制面板故障等原因。下面是...
杂牌洗衣机不转了怎么办 如果杂牌洗衣机出现不转的故障,可能会造成很多麻烦。无法使用洗衣机会影响我们的日常生活,但是针对这个问...
晒出317万年终奖后,腾讯一员... 近日,有网友晒出疑似腾讯内部发布的通报:WXG某项目组负责人叶某在职期间,因私自泄露公司敏感信息,被...
公安部:国际打击电信网络诈骗联... 今天(24日)上午,国务院新闻办公室举行“开局起步‘十五五’”系列主题新闻发布会,公安部相关负责人介...
数学之外的邓煜:INTJ、知乎... 在23日于美国费城宾夕法尼亚州会展中心举行的2026年国际数学家大会开幕式上,中国数学家邓煜、王虹获...
新晋菲尔兹奖得主,当天宣布加入... 刚拿到数学界最高荣誉,转头就宣布:我要去OpenAI了。Jacob Tsimerman,这位领奖台上...