【发布时间】:2021-03-28 17:37:46
【问题描述】:
我有点困惑,当我的功能为真时,我尝试在视图中显示一个弹出窗口,否则继续,但我不明白该怎么做我迷失在不同的做事方式之间。我尝试了几件事,但有些事情让我无法理解。
编辑:该项目基于 SwiftUI,并且弹出窗口将显示在 SwiftUI 视图中,该函数位于返回 ObservableObject 的类中。该函数是从按钮的 SwiftUI 视图中调用的。
get_deliveries.swift -> 进入类 delivViewModel:ObservableObject
func cancelDeliv(delivID: String) {
let delivRef = db.collection("av_deliveries").document(delivID)
let isDemain = Date().dayAfter.toString()
delivRef.getDocument { (document, error) in
if let document = document, document.exists {
let property = document.get("when")
if isDemain == property as! String {
// Print a pop-up error
} else {
delivRef.updateData([
"taken": false,
"taken_by": ""
]) { err in
if let err = err {
print("Error updating document: \(err)")
} else {
print("Document successfully updated")
}
}
}
}
}
}
【问题讨论】:
-
从您的问题中不清楚此功能在哪里或它与您的视图有何关系。您还将它标记为 SwiftUI 和 UIKit,因此不清楚您要显示哪种类型的警报。
-
您显示的代码是一个视图模型,因此它不负责直接显示警报。那是你观点的责任。您在视图模型中设置了一个状态/属性,指示存在错误,并且您的视图对此做出反应以实际显示警报或工作表或其他任何内容。