现在我使用上面的代码将可选项设置为空字符串(如果它为nil),如果它有值,则将其解包。这只是三行代码,但对我来说这是一个非常常见的操作,所以我想知道是否有更优雅的方法来做到这一点?
var notesUnwrapped:String = ""
if(calendarEvent.notes != nil){
notesUnwrapped = calendarEvent.notes!
}
答案 0 :(得分:15)
您可以使用nil合并运算符??
var notesUnwrapped: String = calendarEvent.notes ?? ""
nil合并算子(a ?? b)打开一个可选的a if 包含一个值,如果a为nil,则返回默认值b。该 表达式a始终是可选类型。表达式b必须 匹配存储在。
中的类型