我在 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 ....但它回傳一個布林值,這是有道理的。
不太清楚這叫什么,所以不知道還有什么要研究的。
謝謝!
uj5u.com熱心網友回復:
我假設你想要這樣的東西(簡化):
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: { $0.isDone }) {
print(task.name)
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/443573.html
上一篇:在范圍內找不到“模型”
