Я использую SwiftUI и пытаюсь выполнить простое логическое действие, но не могу понять иерархию действий SwiftUI.
У меня есть один вызов API примерно так:
final class TaskData: ObservableObject {
@Published var updatedFields = false
@Published var updateMsg = ""
func updateFields()
{
//Some API Call
.whenSuccess { (response) in
DispatchQueue.main.async {
self.updatedFields = true
self.updateMsg = "Successfully updated fields"
//Send Request to dismiss current View ???
}
}
}
}
Сейчас У меня есть вид, похожий на этот, и по запросу я хочу отклонить этот вид, но я не могу найти какой-либо метод для этого,
struct TaskView: View {
@Environment(\.presentationMode) var currentView: Binding<PresentationMode>
@EnvironmentObject var taskData: TaskData
var body : some View {
//Some Views here ////
//Need Some code here to dismiss currentView?????
.navigationBarItems(trailing: Button(action: {
}, label: {
Text("Done")
}).onTapGesture {
self.taskData.updateFields() // Method Call to Update fields
})
}
, если кто-то может объяснить эту вещь в некоторых деталях поскольку я новичок ie в SwiftUI, я видел много учебников, но не смог понять эту структуру swift.