2016-05-27 7 views
0

Das ist mein Code und es funktioniert nicht. LightOrDark und LightDark sind Ganzzahlen und sollten gleich sein, wenn die App Ansichten ändert.wie Interger zwischen View-Controllern in Swift übergeben werden

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "LightSegue") { 
     if let MinigameView = segue.destinationViewController as? MinigameView { 
     self.LightOrDark = MinigameView.LightDark 
     } 

    } 
} 
+0

helfen Können Sie Ihre vollständigen Code der beiden View-Controller schreiben Sie verwenden? –

+0

nach Code-Konvention sollten Sie Variablennamen nicht mit Großbuchstaben beginnen. – Daniel

Antwort

0

self.LightOrDark = MinigameView.LightDark diese Anweisung setzt MinigameView.LightDark den aktuellen Klasse LightOrDark.

Sie müssen eingestellt LightDark von MinigameView so Ihr Code sein sollte,

MinigameView.LightDark = self.LightOrDark 

Und Sie sollten Namensgebung Standard folgen. Variable oder Instanzname sollte mit Kleinbuchstaben und nicht mit Großbuchstaben beginnen.

Daher sollte der Instanzname lightOrDark and minigameView statt LightOrDark and MinigameView lauten.

Hope this :)

+0

vielen Dank Ich konnte nirgendwo anders die Antworten finden –

+0

Gern geschehen !!! funktioniert es? – Lion

+0

ja, es hat funktioniert. –

0

Das ist falsch: self.LightOrDark = MinigameView.LightDark. Ändern Sie ihn auf: MinigameView.LightDark = self.LightOrDark

0

Sie müssen den Zielviewcontroller Eigenschaft festlegen

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    guard let destVc = segue.destinationViewController as? MinigameView else { 
     return 
    } 
    destVc.LightOrDark = self.LightDark 
}} 
Verwandte Themen