不在最后一个 ScoreViewController 上显示分数 Swift
No displaying the score on the last ScoreViewController Swift
我的 segue 函数有问题,我试图将最终分数传递给第二个视图,但没有显示在标签上这就是我的 segue 函数:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let destinationScore : ScoreViewController = segue.destinationViewController as! ScoreViewController
destinationScore.scoreBoard?.text = String(finalScore)
NSLog(String(finalScore))
}
这是第二个视图控制器。
@IBOutlet weak var scoreBoard: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
PS: 我的 NSLog 在终端上显示最终分数,但在标签上没有显示。谢谢
执行prepareForSegue时,ScoreViewController的内容(包括视图和子视图)还没有加载。因此,当您设置标签的值时,scoreBoard 标签为零。因此 scoreBoard 标签无法显示您的分数。
要解决此问题:
最好在ScoreViewController中添加属性var score: String
,然后在viewDidLoad
函数中为label赋值
在 prepareForSegue 中,分配分数 属性 而不是 scoreBoard 标签。
我的 segue 函数有问题,我试图将最终分数传递给第二个视图,但没有显示在标签上这就是我的 segue 函数:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let destinationScore : ScoreViewController = segue.destinationViewController as! ScoreViewController
destinationScore.scoreBoard?.text = String(finalScore)
NSLog(String(finalScore))
}
这是第二个视图控制器。
@IBOutlet weak var scoreBoard: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
PS: 我的 NSLog 在终端上显示最终分数,但在标签上没有显示。谢谢
执行prepareForSegue时,ScoreViewController的内容(包括视图和子视图)还没有加载。因此,当您设置标签的值时,scoreBoard 标签为零。因此 scoreBoard 标签无法显示您的分数。
要解决此问题:
最好在ScoreViewController中添加属性
var score: String
,然后在viewDidLoad
函数中为label赋值在 prepareForSegue 中,分配分数 属性 而不是 scoreBoard 标签。