【问题标题】:How to check multiple values in negative expression with optional binding?如何使用可选绑定检查负表达式中的多个值?
【发布时间】:2018-12-08 10:07:27
【问题描述】:

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

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

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

【问题讨论】:

  • 我在您的示例中没有看到 nil

标签: swift optional-binding


【解决方案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
}

【讨论】:

  • 我想知道两个可选项什么时候都为零。
【解决方案2】:

您可以通过将它们与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")
}

【讨论】:

    【解决方案3】:

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

    但是你需要定义两个可选类型的值。您可以使用问号 Type? 来执行此操作,然后您可以检查两个值是否不是 nil

    您在 Swift 中的代码:

    let n1: Int? = 1
    let n2: Int? = 2
    if n1 == nil && n2 == nil {
        //  do something.
    }
    

    【讨论】:

    • if语句里面可以写一行吗?
    猜你喜欢
    • 2016-01-09
    • 2016-01-04
    • 2022-01-07
    • 2018-03-30
    • 2021-08-13
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多