我是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
变量传递给游戏摘要页面。
如何解决此错误?
有更好的方法吗?
答案 0 :(得分:0)
您正在将字符串传递给整数变量。你需要改变:
destinationViewController.correctAnswerNumber = correctAnswerLabel.text
到
let answerNumber : Int? = correctAnswerLabel.text.toInt()
destinationViewController.correctAnswerNumber = answerNumber!
如果您需要将变量传递给六个ViewControllers,最好使用公共共享存储。
我的意思是使用Singleton或NSUserDefaults
将是一个好主意,而不是像这样传递给六个不同的ViewController。