-2

我想检查两个可选变量是否都为空。例如,在 C 中,

int n1 = 1;
int n2 = 2;
if( n1!=0 && n2!=0 ) {
     //  do something.
}

有没有办法在 Swift 中做到这一点?

4

3 回答 3

1

只需使用&&运算符:

// 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
}
于 2018-12-08T10:14:53.677 回答
1

您可以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")
}
于 2018-12-08T10:16:51.110 回答
1

您所谓的可选绑定实际上只是具有多个条件的if 语句。当您想从可以是的常量/变量中定义常量/变量时,使用可选绑定nil。如果不是,则执行 if 语句中的代码。

但是您需要定义两个具有可选类型的值。这你可以用问号来做,Type?然后你可以检查两个值是否都不是nil

您在 Swift 中的代码:

let n1: Int? = 1
let n2: Int? = 2
if n1 == nil && n2 == nil {
    //  do something.
}
于 2018-12-08T10:09:07.530 回答