【发布时间】:2020-01-24 22:42:02
【问题描述】:
我有三个可选值。这些值是从 JSON 中读取的。首先我想用 if let 保护这些值,然后我想检查这些值本身。
我想检查其中一个值是否存在,然后做一些事情。
我知道一个语句中的多个 if let 是 && 条件。我怎么做 ||代码更少的条件?
JSON:
{value1="", value2="", value3="Some value"}
struct Profile: Decodable
let value1: String?
let value3: String?
let value3: String?
}
以下是伪代码:
if let value1 = profile.value1 || let value2 = profile.value2 || let value3 = profile.value3 {
// One of these value is present
if value1 != "null" {
// do something
} else if value2 != "null" {
// do something
} else if value3 != "null" {
// do something
} else {
// No value present
}
} else {
// None of these values is present
}
【问题讨论】:
-
这能回答你的问题吗? if let with OR condition
-
不完全。看来我最终会得到一个嵌套的多重和复杂的 if else。我想知道是否有更简单的解决方案。
-
如何在外部
then分支中使用value2和value3?你需要它们吗?如果没有,那两个简单的!= nil就足够了。 -
我会检查并使用任何值(如果存在)。
-
@P2000 如果您检查编辑历史记录,问题非常模糊,并且接受的答案不仅没有真正回答问题的要求(该答案中没有 OR 逻辑),而且它也很基本,所以我会说 OP 并没有很好地询问,即使在编辑之后也是如此。
标签: swift