【发布时间】:2018-12-08 10:07:27
【问题描述】:
我想检查两个可选变量是否都为空。例如,在 C 语言中,
int n1 = 1;
int n2 = 2;
if( n1!=0 && n2!=0 ) {
// do something.
}
在 Swift 中有没有办法做到这一点?
【问题讨论】:
-
我在您的示例中没有看到
nil。
我想检查两个可选变量是否都为空。例如,在 C 语言中,
int n1 = 1;
int n2 = 2;
if( n1!=0 && n2!=0 ) {
// do something.
}
在 Swift 中有没有办法做到这一点?
【问题讨论】:
nil。
只需使用&& 运算符:
// here are the optional variables:
var a: Int? = nil
var b: Int? = nil
if a == nil && b == nil {
// this will only run if both a and b are nil
}
【讨论】:
您可以通过将它们与nil 进行比较来检查两个选项是否为nil
let n1: Int? = nil
let n2: Int? = nil
if n1 == nil, n2 == nil {
print("Nil all the way")
}
用逗号分隔条件相当于使用&&。
这是使用元组的替代方法:
if (n1, n2) == (nil, nil) {
print("Nil all the way")
}
【讨论】:
你所说的可选绑定实际上只是带有多个条件的if语句。 可选绑定 当你想从常量/变量定义常量/变量时使用,可以是nil。如果不是,则执行 if 语句中的代码。
但是你需要定义两个可选类型的值。您可以使用问号 Type? 来执行此操作,然后您可以检查两个值是否不是 nil。
您在 Swift 中的代码:
let n1: Int? = 1
let n2: Int? = 2
if n1 == nil && n2 == nil {
// do something.
}
【讨论】: