gpt4 book ai didi

string - 如何在 swift 中使用 if let 和另一个语句?

转载 作者:可可西里 更新时间:2023-10-31 23:59:26 25 4
gpt4 key购买 nike

如果既要分配一个字符串又要检查它在 Swift 中是否为空。

if let alternative3Text = attributes.stringForKey("choiceThree") && alternative3Text != "" {
// do stuff with alternative3Text
}

这在 Swift 中可行吗,还是我必须执行嵌套的 if 语句?

最佳答案

更新:从 Swift 3 (Xcode 8) 开始,附加子句是用逗号分隔, 而不是where:

if let alternative3Text = attributes.string(forKey: "choiceThree"),
alternative3Text != "" {
// do stuff with alternative3Text
}

更新:从 Swift 1.2(Xcode 6.3 beta)开始,您可以结合带有附加条件的可选绑定(bind):

if let alternative3Text = attributes.stringForKey("choiceThree") where alternative3Text != "" {
// do stuff with alternative3Text
}

使用 switch-case 仍然有效,但不再需要用于此目的。


旧答案:if 语句是不可能的,但 switch 是不可能的。switch case 可以使用 where 子句来检查附加条件(documentation)。

假设(根据您的问题)attributes.stringForKey("choiceThree") 返回String?,以下将起作用:

switch (attributes.stringForKey("choiceThree")) {
case .Some(let alternative3Text) where alternative3Text != "":
// alternative3Text is the unwrapped String here
default:
break
}

关于string - 如何在 swift 中使用 if let 和另一个语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26453670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com