我的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在终端上显示最终得分,但没有在标签上显示。谢谢
答案 0 :(得分:0)
执行prepareForSegue时,尚未加载ScoreViewController的内容(包括视图和子视图)。因此,当您为label设置值时,scoreBoard标签为nil。因此,scoreBoard标签无法显示您的分数。
要解决此问题:
您最好在ScoreViewController中添加属性var score: String
,然后在viewDidLoad
函数中为标签指定文字。
在prepareForSegue中,指定score属性而不是scoreBoard标签。