[英]Perform function on Dismiss of a View Controller
我在視圖 controller 的viewDidAppear function 上調用GET(方法) API。 我在我的第一個視圖 controller 上使用導航 controller呈現一個新視圖 controller。 在第二個視圖 controller 我正在調用Post Method的 API 以在我的上一個屏幕Get 方法 API中添加另一個條目。 但是當我關閉第二個視圖 Controller 時,獲取 API 數據保持不變,當我再次運行代碼時,數據在第一個視圖 controller 上更新。 有人可以告訴我如何檢查第一個視圖 controller 我的第二個視圖 controller 被駁回,以便我可以在那里調用 API。
我得到了解決方案。 通過在viewDidAppear()或viewWIllAppear()上調用 API 不起作用。 這將通過使用 swift 閉包來完成。
下面是代碼:
class 1stViewController: UIViewController {
@IBAction func buttonTapped(_ sender: UIButton) {
guard let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as? SecondViewController else { return }
secondController.callbackClosure = { [weak self] in
print("call API")
}
self.navigationController?.pushViewController(secondController, animated: true)
}
}
在第二個視圖 Controller:
class SecondViewController: UIViewController {
var callbackClosure: ((Void) -> Void)?
override func viewWillDisappear(_ animated: Bool) {
callbackClosure?()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.