swift - 没有在最后一个 ScoreViewController Swift 上显示分数

标签 swift label segue viewcontroller

我的 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/

相关文章:

ios - 如何在 Swift 的新 View 中调用 segue?

swift - 使用 RxSwift 链接操作

ios - 如何模仿相机应用程序 - 覆盖方向变化动画?

ios - 在 Swift 的 UITextView 中包装文本

R 到 Stata : Exporting dataframe with variable labels

ios - swift - 在 Controller 之间切换后更新计时器并更新标签

ios - 是否可以突出显示 tableView 单元格内的文本子字符串?

html - 更改标签的 HTML 表单 CSS 属性

swift - 如何使用 push segues 处理两个 Collection View

swift - 更改 View Controller ,同时维护用户输入数据