在 SwiftUI 3 中使用 if let 的成功值
Use success value of `if let` in SwiftUI 3
我在 SwiftUI 中进行了检查
if tasks.first(where: { task in
return isDone(task)
}) != nil {
let task = tasks.first(where: { task in
return isDone(task)
}
)
我想知道 SwiftUI 3 中是否有一种方法可以在检查中使用 task
,而不必在成功块中重新定义它?
我尝试用 if let task = tasks.first ....
替换第一行,但它 returns 是一个 Bool,这是有道理的。
不太确定这叫什么,所以不知道还有什么要研究的。
谢谢!
我假设你想要这样的东西(简化):
struct Task {
var isDone: Bool {
true
}
var name = "test"
}
func foo() {
let tasks = [Task(), Task()]
// just don't use `!= nil` converting it to Bool
if let task = tasks.first(where: { [=10=].isDone }) {
print(task.name)
}
}
我在 SwiftUI 中进行了检查
if tasks.first(where: { task in
return isDone(task)
}) != nil {
let task = tasks.first(where: { task in
return isDone(task)
}
)
我想知道 SwiftUI 3 中是否有一种方法可以在检查中使用 task
,而不必在成功块中重新定义它?
我尝试用 if let task = tasks.first ....
替换第一行,但它 returns 是一个 Bool,这是有道理的。
不太确定这叫什么,所以不知道还有什么要研究的。
谢谢!
我假设你想要这样的东西(简化):
struct Task {
var isDone: Bool {
true
}
var name = "test"
}
func foo() {
let tasks = [Task(), Task()]
// just don't use `!= nil` converting it to Bool
if let task = tasks.first(where: { [=10=].isDone }) {
print(task.name)
}
}