swift学习03-可选类型Optional
Swift三.可选类型 optional
1.optional定义 optional是swift的一个重要特性,它为那些在编译时不能确定是否有值的的变量做了一个包装 表示一个值可能缺失的类型 optional定义了两种值:有值 + nil swift中nil也是一种类型,但跟真实的类型不匹配不能进行赋值 swift是强类型语言 optional的用处在于提供可为nil类型的变量
2.optional语法 var optionalValue:Optional<String> = nil var optionaValue_:String? = nil
3.optional操作
?代表这是一个可选类型,是一个语法糖,原型为 public enum Optional 有两个值 case None = nil case Some = 有值
可选值解包 var optionalValue:String? = "hello" print(optionalValue) //optional(“hello”) 输出为Optional包装后的string 需要用optionalValue的话则需要进行解包为 if let tempValue = optional{ //有值时进行操作 print(optionalValue) //hello }
强制解包 ! 也是一个枚举值 (枚举里面没看懂) !的字面意思 隐式拆包就是对 optional进行强制解包,不需要管有没有值,但是如果没有设置值的话,===nil时,会报错。所以用隐式解包时候需要慎重,确定变量一定会有值在使用,xib拖的控件就可以这么使用,因为xib加载完后一定会有值。 var optionalValue_:String! = "hello"
空合运算符
空合运算符(a ?? b)将对可选类型 a 进行空判断,如果 a 包含一个值就进行解封,否则就返回一个默认值 b。表达式 a 必须是 Optional 类型。默认值 b 的类型必须要和 a 存储值的类型保持一致。 var a = "aaaaa" var b:String? = "bbbb"
var c = b ?? a /* 可选类型别的用法暂时不知道,以后学到更多的继续更新,因为现在只学到了函数,有不同意见或者指导我的请添加QQ 540811253 万分感谢!!! */ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |