将数据从1个视图控制器传递到另一个

时间:2016-04-10 10:14:22

标签: ios swift

我已尝试使用许多其他策略但尚未成功。

我做了一个真假游戏。如果你得到正确的答案,你的分数会增加一分。如果你弄错了,你会被发送到GameOver View Controller。

我要做的是获得你得到的分数,从SecondVC转移到GameOverVC。

var Score = 0

if AnswerNumber == 0 {
    Score += 1
    Score_Keeper.text = NSString(format:"%i",Score) as String

(Score_Keeper是我的标签名称,显示您在SecondVC上的当前分数)

else {

     let destinationController = storyboard?.instantiateViewControllerWithIdentifier("ThirdVC")
     presentViewController(destinationController!, animated: true, completion: nil)

这将我带到我的GameOverVC。要在GameOver屏幕中为我的UILabel分配“分数”,我已经在我的代码的最后写了。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let SecondVC: GameOver = segue.destinationViewController as! GameOver

    SecondVC.LabelText == Score

我的GameOverVC中的LabelText是

var LabelText = Int()

在我的视图中载入我写过:

Score_Number.text = "\(LabelText)"

其中Score_Number是我的UILabel的名称。基本上,我希望GameOverVC中的Score_Number =在第二个VC中得分。

我希望我的问题很清楚......非常感谢你!

1 个答案:

答案 0 :(得分:0)

您不需要实现prepareForSegue。只需在呈现之前指定值

 let destinationController = storyboard?.instantiateViewControllerWithIdentifier("ThirdVC") as GameOverVC
 destinationController.LabelText = score;
 presentViewController(desinationController!, animated: true, completion: nil)

同样在你的prepareforSegue作业

SecondVC.LabelText = Score

而不是

SecondVC.LabelText == Score