【发布时间】:2021-06-11 12:54:00
【问题描述】:
我目前通过执行以下操作来关闭视图:
struct DestinationView: View {
@Environment(\.presentationMode) private var presentationMode
var onDismiss: () -> Void
var body: some View {
Button("Dismiss") {
presentationMode.wrappedValue.dismiss()
onDismiss()
}
}
}
一旦视图被关闭,我通过调用onDismiss 通知父视图以触发父视图中的操作。
但是,我的操作触发得太早了,因为在调用 onDismiss 时,此视图尚未完成关闭,因此我在父视图中看到与竞争条件相关的问题。
我可以利用与.dismiss(animated:completion:) 等效的方法吗?
PS 额外的上下文:
我正在解雇 UIViewControllerRepresentable 的协调员。
【问题讨论】: