Добавьте уникальную переменную Bool
, чтобы вы могли понять, куда обращаться к этому контроллеру.
Сделайте flag false
в viewWillAppear
, потому что каждый раз, когда он должен обновляться, это самый простой способ, которого вы можете достичь.
class ViewController1: UIViewController {
var isFromVC2 = false
var isFromVC3 = false
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
isFromVC2 = false
isFromVC3 = false
}
}
class ViewController2: UIViewController {
//You can call this function from where you want otherwise you can make it global.
func navigateToVC1() {
let viewController1 = self.storyboard?.instantiateViewController(withIdentifier: "ViewController1") as! ViewController1
viewController1.isFromVC2 = true
self.navigationController?.pushViewController(viewController1, animated: true)
}
}
class ViewController3: UIViewController {
func navigateToVC1() {
let viewController1 = self.storyboard?.instantiateViewController(withIdentifier: "ViewController1") as! ViewController1
viewController1.isFromVC3 = true
self.navigationController?.pushViewController(viewController1, animated: true)
}
}