如何将 nil 的可选项设置为空字符串? [复制]

Posted

技术标签:

【中文标题】如何将 nil 的可选项设置为空字符串? [复制]【英文标题】:How to set optionals that are nil to an empty string? [duplicate] 【发布时间】:2016-08-05 10:47:45 【问题描述】:

现在我使用上面的代码将一个可选项设置为一个空字符串,如果它是 nil 并且如果它有一个值则解包它。这只是三行代码,但这对我来说是一个非常常见的操作,所以我想知道是否有更优雅的方法来做到这一点?

var notesUnwrapped:String = ""
    if(calendarEvent.notes != nil)
        notesUnwrapped = calendarEvent.notes!
    

【问题讨论】:

使用if let。在这里解释:developer.apple.com/library/ios/documentation/Swift/Conceptual/… 你真的应该阅读语言指南。 【参考方案1】:

您可以使用 nil 合并运算符 ??

var notesUnwrapped: String = calendarEvent.notes ?? ""

Swift Operators

nil 合并运算符 (a ?? b) 解开可选的 a 如果它 包含一个值,如果 a 为 nil,则返回默认值 b。这 表达式 a 始终是可选类型。表达式 b 必须 匹配存储在 a 中的类型。

【讨论】:

以上是关于如何将 nil 的可选项设置为空字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

True 和 False 怎么可能是空字符串? [复制]

是否有一个好地方可以捕获 Core Data 属性检索以用空字符串覆盖 nil 字符串?

测试“nil”和“.None”的可选项有啥区别?

仅当一个表达式中的可选项不是 nil 时才调用函数?

使用 JSONEncoders swift 跳过空字符串

Swift - 将 nil 核心数据字符串转换为可选值