Swift - 可选型操作

Optional Chaining 与 Nil Coalesce 操作

var errorMessage : String? = "Not Found"

//可选型的而第一个操作

optional chaining

对象?.(返回可选性的方法)?.(返回可选性的方)?...避免不停的if判断解包

errorMessage?.uppercaseString

 var uppercaseErrorMessage = errorMessage?.uppercaseString

if uppercaseErrorMessage == errorMessage?.uppercaseString{
    errorMessage
}

可选型的第二个操作

nil coalesce
开发中我们常常需要给错误信息赋值,例如 errorCode,如果可选性errorCode没有值 则令 errorCode = 0 表示没有错误

var errorCode : String? = nil
let error : String

//方法1 - 解包
if let errorCode = errorCode{
    error = errorCode
}else{
    error = "no error"
}

//方法2  三目运算
let error2 = errorCode == nil ? "no error" : errorCode

//方法3  nil coalesce  message3就是取errorCode的值,如果取不到就去取"no error",语意简易明了 建议第三种

let error3 = errorCode ?? "no error"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本篇将详细总结介绍Swift可选型的用法;顾名思义,可选类型表示一个变量可能有值,也可能没有值(nil),但是它的...
    梧雨北辰阅读 506评论 2 9
  • 可选型作为swift语言中一大亮点,也是非常重要的一个概念,为此我们要学好swift,就要把可选型学好。 什么是可...
    雷晏阅读 504评论 0 4
  • 之前学习 Swift 的时候都是比较破碎,零零散散,以至于有些地方学习的不够透彻。所以趁最近有时间,就开始重新学习...
    HenryCheng阅读 4,362评论 11 26
  • 我们常常听人说,以前幻想自己的生活应该是什么样子,而现在过上了自己截然相反的生活,自己的不得解~ 最后感叹:生活真...
    多金阅读 342评论 0 0
  • 早上8:30走到深圳的南山脚下,一路陡坡,9:00到达山顶。昨晚上刚下过雨,早晨的深圳雾气蒙蒙,俯瞰前海开发...
    宝洪江阅读 657评论 0 1