一旦时间用完,我试图将游戏的分数转移到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/

10-09 02:07