Контекст:
У меня есть три ViewController, которые совместно используют одно представление контейнера. ContainerViewController содержит переменную, которая будет изменена, например, банк.
У меня есть кнопка, которая добавляет 10000 в банк. Он добавляет 10000 к банку при нажатии, хотя он отображается, только если вы переходите на другую вкладку или возвращаетесь.
Я исследовал эту проблему и, похоже, понял что мне нужно использовать подготовить (для segue :), чтобы обновить его, но я не могу заставить его работать.
Проблема: Как я могу обновить вид контейнера (так как мне нужны дополнительные метки там в конечном итоге) немедленно, чтобы новое значение отображалось и отображалось на том же V C?
HomeViewController (с кнопкой)
class HomeViewController: UIViewController {
@IBOutlet weak var containerView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func bankButton(_ sender: Any) {
bank += 10099
print("\(bank)")
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "container" {
let vc = segue.destination as! ViewController
}
}
}
}
ViewController (Container)
var bank = 10000;
class ViewController: UIViewController {
@IBOutlet weak var cashLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
cashLabel.text = "\(bank)"
}
}