Ios 无法转换表达式';s type()到Int-Swift类型

Ios 无法转换表达式';s type()到Int-Swift类型,ios,swift,segue,Ios,Swift,Segue,我是swift和iOS开发的新手。我正在学习如何通过多个视图控制器传递数据 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if (segue.identifier == "mySegue") { var destinationViewController = segue.destinationViewController as FirstQuestionViewC

我是swift和iOS开发的新手。我正在学习如何通过多个视图控制器传递数据

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier == "mySegue") {
        var destinationViewController = segue.destinationViewController as FirstQuestionViewController
        destinationViewController.correctAnswerNumber = correctAnswerLabel.text
    }
}
我知道我不能把它转换成Int,但是我该如何处理这个错误呢

在琐事游戏中,我想有一个总结页面,上面写着“你做得很好”或“在下一场游戏之前复习你的琐事”,这取决于他们做得有多好。我试图通过6个视图控制器将
correctAnswerNumber
变量传递到游戏摘要页面

问题
  • 我如何避免这个错误


  • 有更好的方法吗

  • 对问题1的答复 您正在将字符串传递给整数变量。您需要更改:

    destinationViewController.correctAnswerNumber = correctAnswerLabel.text
    

    对问题2的答复 如果需要将变量传递给六个ViewController,最好使用公共共享存储。
    我的意思是使用Singleton或
    NSUserDefaults
    将是一个好主意,而不是像这样将其传递给六个不同的ViewController。

    有更好的方法吗?是的,使用NSNumberFormatter。下一个错误:“可选类型“Int”的值?”未展开;您是否打算使用?或!“我尝试添加这两个值,但均无效。接下来呢?太棒了!谢谢你的帮助
    let answerNumber : Int?                       = correctAnswerLabel.text.toInt()
    destinationViewController.correctAnswerNumber = answerNumber!