在此处将newb完整地添加到Swift 4。如何用Swift更紧凑地编写以下内容?
if myVar != nil {
if !myVarList.contains(myVar!) {
myVarList.append(myVar!)
}
}
我尝试搜索guard
的示例,但找不到任何内容。我认为Swift可以让我更紧凑地处理nil
检查,但不确定与嵌套条件组合使用时如何进行检查。
答案 0 :(得分:1)
只需使用if let
来有条件地解开可选内容并在同一行中进行其他检查,逗号就代表布尔型AND
运算符
if let item = myVar, !myVarList.contains(item) {
myVarList.append(item)
}
如果在检查后将使用(未包装的)可选选项,请不要写!= nil
guard
仅在对false
的评估退出范围的情况下才有用
func foo() {
guard let item = myVar, !myVarList.contains(item) else { return }
myVarList.append(item)
}