码迷,mamicode.com
首页 > 编程语言 > 详细

Swift2.0(4)可选类型

时间:2016-03-03 15:07:53      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:ios   app   xcode   swift   swift2.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?


本文出自 “安萌” 博客,请务必保留此出处http://annmeng.blog.51cto.com/3321237/1747045

Swift2.0(4)可选类型

标签:ios   app   xcode   swift   swift2.0   可选类型   

原文地址:http://annmeng.blog.51cto.com/3321237/1747045

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!