SwiftUI: выполнить действие, когда UIViewController отклонен - PullRequest
0 голосов
/ 29 июня 2019

Я представляю UIViewController FooUIViewController из SwiftUI при нажатии кнопки. В этом ViewController я манипулирую членом barstuff. После закрытия ViewController я нажимаю другую кнопку для вызова doStuff() То, что я хотел бы сделать, это вызвать doStuff() автоматически после закрытия UIViewController. Я пробовал .onAppear(), но он выполняется только один раз. Есть ли что-то вроде ViewEnteredForeground? Спасибо!

struct MainView : View {
  @ObjectBinding var barstuff : String

    var body: some View {
      NavigationView {          
        Button(action:{                         
          let rootVC :UIViewController = UIApplication.shared.keyWindow!.rootViewController!
                           rootVC.present(FooUIViewController.init(), animated: true, completion: nil)
          }){
            Text("Start")
        }
        Button(action:{                         
          self.doStuff(self.barStuff)
        }){
           Text("Do Stuff")
        }
      }
    }

    func doStuff(bar: String) {
      //does stuff
    }
}
...