I have a common view used when the user opens the app (VC1). With a tab bar controller, I load another view (VC2) that can be used to update data visible in the previous one. When I go back on VC1 (which is stack), it does not reload with updated data.
I have tried to call the viewDidLoad in the viewWillAppear like so...
override func viewWillAppear(_ animated: Bool) {
viewDidLoad()
}
It works, but it loads over the VC1 still on stack and the user can see the change (not good).
I suppose that to dismiss the VC1 would help, but I haven't found how to dismiss a view when using tab bar controller.
Follow these steps to handle you view load setup every time your view will appear:
(VC1 = First View Controller)
viewLoadSetup) in your VC1 and move all codes fromviewDidLoad()toviewLoadSetup().Now, Call
viewLoadSetup()fromviewWillAppearIf you want to call
viewLoadSetupfromviewDidLoadfor one time, when your view controller is loaded, and then after every time from yourviewWillAppearthen,