一旦时间用完,我试图将游戏的分数转移到viewController。我现在在一个viewController中有这段代码。
var score = 0
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "toResults" {
var svc = segue.destinationViewController as! Results
svc.resultsScore == (score)
}
}
在我的第二个视图控制器中,我有以下代码:
var resultsScore: Int!
@IBOutlet weak var finalScore: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
finalScore.text = "\(resultsScore)"
}
在第一个viewController中,当试图将分数传递到Results viewController中的resultscore时,它在此行崩溃,并返回此错误代码。
svc.resultsScore == (score)
致命错误:在展开可选值时意外找到nil
为什么会这样?我以前曾将数据从一个VC传递到另一个VC,但这并没有发生。这样过去不安全吗?
最佳答案
svc.resultsScore == (score)
==是比较运算符。
用一个等号赋值=
svc.resultsScore = (score)
关于ios - prepareForSegue()中崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37599669/