gpt4 book ai didi

swift - 如何在我的容器 View 上手动触发一个方法?

转载 作者:行者123 更新时间:2023-11-28 08:01:02 31 4
gpt4 key购买 nike

我确实有一个 View ,我在其中嵌入了一个 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)"

}

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

PS:我在 Storyboard上完成了所有 UI 工作。

最佳答案

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

weak var parentVC: UpperLower?

在prepareForSegue中设置属性

PlayerInfoHeaderView.parentVC = self

关于swift - 如何在我的容器 View 上手动触发一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46725068/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com