【发布时间】:2023-03-12 21:39:01
【问题描述】:
我有一个主 ViewController,它将一个字符串发送到第二个视图控制器,如下所示:
if segue.identifier == "statsSegue" {
let recievingVC:StatisticsVC = segue.destination as! StatisticsVC
var recievingview:StatisticsView
for View in recievingVC.view.subviews {
if View is StatisticsView {
recievingview = View as! StatisticsView
recievingview.setLabel(data: "673")
}
}
}
当 segue 发生时,标签正确显示为 673。但是,在第二个 ViewController 中,如果我尝试执行类似的 setLabel 它不会更改显示的标签:
override func viewDidLoad() {
super.viewDidLoad()
let potato:StatisticsView = self.view.subviews[0] as! StatisticsView
potato.GamesWonNum.text = String(580)
忽略土豆变量,它是一个占位符。上面第一个 sn-p 中的 SetLabel() 只需调用 GamesWonNum.text。
那么为什么标签在 segue 中正确更改,但在我正在进入的 viewController 的 viewDidLoad 方法中没有更改?
谢谢
【问题讨论】:
标签: ios swift uiview uiviewcontroller