我已尝试使用许多其他策略但尚未成功。
我做了一个真假游戏。如果你得到正确的答案,你的分数会增加一分。如果你弄错了,你会被发送到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中得分。
我希望我的问题很清楚......非常感谢你!
答案 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