首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在if语句中展开多个可选参数

在if语句中展开多个可选参数
EN

Stack Overflow用户
提问于 2014-07-03 16:44:38
回答 4查看 30.8K关注 0票数 65

我想在一个if语句中展开两个可选函数,但是编译器抱怨在password常量处有一个预期的表达式after运算符。可能的原因是什么?

代码语言:javascript
复制
    if let email = self.emailField?.text && let password = self.passwordField?.text
    {
        //do smthg
    }

在Swift中完成。

EN

回答 4

Stack Overflow用户

发布于 2014-07-03 17:13:20

用法

代码语言:javascript
复制
if let x = y {
}

不等同于

代码语言:javascript
复制
if (let x = y) { // this is actually not allowed
}

"if let“实际上是一个由两个单词组成的关键字,相当于

代码语言:javascript
复制
if y != nil {
    let x = y!
    // rest of if let block
}
票数 9
EN

Stack Overflow用户

发布于 2018-03-26 01:31:31

Swift 4

代码语言:javascript
复制
if let suggestions = suggestions, let suggestions1 = suggestions1 {

        XCTAssert((suggestions.count > suggestions1.count), "TEST CASE FAILED: suggestion is nil. delete sucessful");
}
票数 3
EN

Stack Overflow用户

发布于 2014-07-03 16:46:34

我不能解释为什么上面的代码不能工作,但这将是一个很好的替代品:

代码语言:javascript
复制
if let email = self.emailField?.text 
{
    if let password = self.passwordField?.text 
    {
        //do smthg
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24548999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档