2016-04-10 22 views
0

他の多くの戦略を使用しようとしましたが、まだ成功していません。1つのビューコントローラから別のコントローラにデータを渡す

私は真偽ゲームを作った。答えが得られれば、得点は1ポイント増加します。それが間違っていると、あなたは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は私UILabelの名前です
Score_Number.text = "\(LabelText)" 

を。基本的には、私はGameOverVCのScore_Numberを2番目のVCのScoreにします。

私の質問が明確であることを願っています...ありがとうございます!

+1

私はそれが悪い習慣と考えられています、プロパティ名を大文字ではないことをお勧めしても

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

それを提示する前に値を割り当てます。 :) –

+0

私はそれを念頭に置いておきます! :) –

答えて

0

prepareForSegueを実装する必要はありません。ちょうどあなたのprepareforSegue割り当てはず

SecondVC.LabelText = Score 

代わりの

SecondVC.LabelText == Score 
+0

それは私に "未解決の識別子 'destinationController'"エラーの使用を与えます。私はこのすべてに慣れていないので、それはどういう意味ですか?あなたの時間をもう一度ありがとう! –

+0

最初の行に「desinationController」と書かれています。 –

+0

ちょうど質問のスニペットからそれをコピーしました。今更新しました。 @MatteoSquireはGameOverVC型の変数です。 –

関連する問題