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?


相关内容

热门资讯

玩家最新攻略“阳光巴厘岛.怎么... 您好:阳光巴厘岛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
玩家最新攻略“乐享牛牛.怎么装... 您好:乐享牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
【今日要闻】“宝宝吃吃吃.到底... 【今日要闻】“宝宝吃吃吃.到底是不是挂?”详细开挂教程您好,宝宝吃吃吃这个游戏其实有挂的,确实是有挂...
重磅消息“乐酷炸金花.辅助器?... 网上科普关于“乐酷炸金花有没有挂”话题很是火热,小编也是针对乐酷炸金花作*弊开挂的方法以及开挂对应的...
今日重磅消息“极酷牛牛.可以开... 有 亲,根据资深记者爆料极酷牛牛是可以开挂的,确实有挂(咨询软件无需打开...
我来教教您“葫芦三娃.可以开挂... 网上科普关于“葫芦三娃有没有挂”话题很是火热,小编也是针对葫芦三娃作*弊开挂的方法以及开挂对应的知识...
【第一资讯】“欢乐斗地主.有没... 您好:欢乐斗地主这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游...
玩家攻略科普“白金岛.开挂器?... 网上科普关于“白金岛有没有挂”话题很是火热,小编也是针对白金岛作*弊开挂的方法以及开挂对应的知识点,...
【第一资讯】“九酷炸金花.可以... 家人们!今天小编来为大家解答九酷炸金花透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
终于懂了“麻友圈2挪来挪去.究... 网上科普关于“麻友圈2挪来挪去有没有挂”话题很是火热,小编也是针对麻友圈2挪来挪去作*弊开挂的方法以...