2016-04-10 16 views
0

Ich habe versucht, viele andere Strategien zu verwenden, aber bis jetzt nicht gelungen.Übergabe von Daten von 1 Sicht Controller zu einem anderen

Ich habe ein richtiges oder falsches Spiel gemacht. Wenn Sie die richtige Antwort erhalten, erhöht sich Ihr Punktestand um einen Punkt. Wenn Sie es falsch verstehen, werden Sie zu einem GameOver View Controller weitergeleitet.

Was ich versuche zu tun ist, um die Punkte, die Sie bekommen haben, von der SecondVC auf die GameOverVC zu übertragen.

var Score = 0 

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

(Score_Keeper ist der Name meines Labels, die Sie Ihren aktuellen Punktestand auf SecondVC zeigt)

else { 

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

Das bringt mich zu meinem GameOverVC. Um den "Score" meinem UILabel im GameOver Screen zuzuweisen, habe ich am Ende meines Codes geschrieben.

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

    SecondVC.LabelText == Score 

Labeltext in meinem GameOverVC ist

var LabelText = Int() 

und meiner Ansicht nach Did Last ich geschrieben habe:

Score_Number.text = "\(LabelText)" 

Wo Score_Number der Name meines UILabel ist. Grundsätzlich möchte ich meine Score_Number in GameOverVC = Score in der zweiten VC.

Ich hoffe meine Frage ist klar ... Vielen Dank !!

+1

präsentiert ermutige ich Sie nicht Eigenschaftsnamen zu nutzen, ist es eine schlechte Praxis betrachtet. :) –

+0

Ich behalte das im Hinterkopf! :) –

Antwort

0

Sie müssen PrepareForSegue nicht implementieren. weisen Sie einfach den Wert, bevor es

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

Auch in Ihrer prepareforSegue Zuordnung sollte

SecondVC.LabelText = Score 

statt

SecondVC.LabelText == Score 
+0

Es gibt mir eine "Verwendung der nicht aufgelösten Bezeichner 'destinationController'" Fehler. Ich bin neu bei all dem, also was bedeutet das? Nochmals vielen Dank für Ihre Zeit! –

+0

Es gibt einen Tippfehler, in der ersten Zeile steht 'desinationController'. –

+0

kopiert es nur aus Schnipsel in der Frage. Jetzt aktualisiert es. @MatteoSquire es ist die Variable vom Typ GameOverVC Klasse. –

Verwandte Themen