如何在我的容器视图上手动触发一个方法?

How to trigger a method on my container view manually?

我有一个视图,我在其中嵌入了一个 ContainerView。我第一次在我的 ContainerView 上填写我的标签

class UpperLower { ...
override func prepare(for segue: UIStoryboardSegue, sender: Any!) {

    let PlayerInfoHeaderView = segue.destination as? PlayerInfoHeader

    PlayerInfoHeaderView?.player1 = player1
    PlayerInfoHeaderView?.player2 = player2
    PlayerInfoHeaderView?.game    = game
   }
}

Segue 触发 viewDidLoad(),我在其中调用方法 updateUI()

class PlayerInfoHeader: UIViewController { ...

override func viewDidLoad() {
    super.viewDidLoad()
    updateUI(game: game)
}
func updateUI(game: Player.Game) {
    player1NameLabel.text = player1.name
    player2NameLabel.text = player2.name

    switch game {

    case .UpperLower:
        player1PointsLabel.text    = "Points: \(player1.points.UpperLower)"
        player1WinrateLabel.text   = "Winrate: \(player1.winrates.UpperLower) %"
        player1RoundsWonLabel.text = "Rounds Won: \(player1.roundswon.UpperLower)"

        player2PointsLabel.text    = "Points: \(player2.points.UpperLower)"
        player2WinrateLabel.text   = "Winrate: \(player2.winrates.UpperLower)"
        player2RoundsWonLabel.text = "Rounds Won: \(player2.roundswon.UpperLower)"

}

现在,打完每一局,我也想更新我的UI。我尝试了很多东西,但我不知道如何从我的 UpperLower 手动触发 UpdateUI() 。我知道我需要对我的嵌入式容器视图的引用。但是我怎样才能在 segue 上下文之外获得这个引用呢?有解决我问题的简单方法吗?

PS:我在故事板上完成了所有 UI 工作。

在 PlayerInfoHeader 中设置弱 属性(以避免循环保留)以保留对您的父项的引用

weak var parentVC: UpperLower?

在 prepareForSegue

中设置 属性

PlayerInfoHeaderView.parentVC = self