我试图在游戏结束时将游戏的分数转移到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中的resultsScore时,它会在此行崩溃并显示此错误代码。
svc.resultsScore == (score)
致命错误:在解包可选值时意外发现nil
为什么会这样?我之前已将数据从一个VC传递到另一个VC,但这种情况并未发生。以这种方式传递它是不安全的吗?
答案 0 :(得分:2)
bar
==是比较运算符。
使用1个等号指定它,=
svc.resultsScore == (score)