从品牌网站建设到网络营销策划,从策略到执行的一站式服务
可选类型
我们提供的服务有:成都网站制作、网站设计、微信公众号开发、网站优化、网站认证、关岭ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的关岭网站制作公司
什么是可选类型?
可以被赋予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?
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图