如何解决SwiftUI:在列表中选择项目时,模态视图不会关闭
使用 SwiftUI,我打开了这样的模式视图:
Button(action: {
self.showingFlightsView.toggle()
}) {
Image(systemName: "airplane.circle")
}
.sheet(isPresented: $showingFlightsView) {
FlightsView(flights: self.$flights,selectedFlight: self.$selectedFlight,flightPhase: $flightPhase)
}
然后尝试以这种方式在列表选择中关闭它:
// MARK: Select flight button
Button(action: {
UserDefaults.standard.set(flight.id,forKey: "selection")
self.presentationMode.wrappedValue.dismiss()
print("Flight selected: \(flight.id)")
dispatchQueue.main.asyncAfter(deadline: .Now() + 0.1) {
self.flightPhase = 0
self.selectedFlight = flight
}
}) {
问题是,如果我不使用 dispatchqueue 的技巧,模态视图不会关闭(除非使用向下滑动)。 selectedFlight 是一个可选的对象 Flight。如果我用字符串替换它,它可以正常工作。
知道为什么不能正确关闭对象吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。