我的 segue 函数遇到问题,我试图将最终分数传递给第二个 View ,但没有显示在标签上,这就是我的 segue 函数:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let destinationScore : ScoreViewController = segue.destinationViewController as! ScoreViewController
destinationScore.scoreBoard?.text = String(finalScore)
NSLog(String(finalScore))
}
这是第二个 View Controller 。
@IBOutlet weak var scoreBoard: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
PS:我的 NSLog 在终端上显示最终分数,但不在标签上显示。谢谢
最佳答案
当prepareForSegue执行时,ScoreViewController的内容(包括 View 和 subview )尚未加载。因此,当您设置标签的值时,记分板标签为零。因此,记分板标签无法显示您的分数。
要解决此问题:
您最好在ScoreViewController中添加属性
var Score: String
,然后在viewDidLoad
函数中为标签分配文本。在prepareForSegue中,分配score属性而不是scoreBoard标签。
关于swift - 没有在最后一个 ScoreViewController Swift 上显示分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39382663/