检查多个字符串是否为空或条件为“ if”的零

smi*_*icz 3 swift

在Swift if语句中链接多个条件的正确语法是什么,如下所示:

if (string1!=nil && string2!=nil) {}
Run Code Online (Sandbox Code Playgroud)

要么:

if (string1.isEmpty && string2.isEmpty) {}
Run Code Online (Sandbox Code Playgroud)

aya*_*aio 6

无需()在以下两种情况下使用:

let name1 = "Jim"
let name2 = "Jules"

if name1.isEmpty && name2.isEmpty {
    println("Both strings where empty")
}
Run Code Online (Sandbox Code Playgroud)

同样,检查String是否为nil与检查字符串是否为空不同。

为了检查您的字符串是否为nil,首先它们必须是Optionals。

var name1: String? = "Jim"
var name2: String? = "Jules"

if name1 != nil && name2 != nil {
    println("Strings are not nil")
}
Run Code Online (Sandbox Code Playgroud)

通过安全的展开:

if let firstName = name1, secondName = name2 {
    println("\(firstName) and \(secondName) are not nil")
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,两个String都不为nil但仍为空,因此您也可以检查它:

if let firstName = name1, secondName = name2 where !firstName.isEmpty && !secondName.isEmpty {
    println("\(firstName) and \(secondName) are not nil and not empty either")
}
Run Code Online (Sandbox Code Playgroud)