2014-07-03 16 views
11

Ich erhalte einen Fehler beim Versuch, eine Variablenzuweisung mit meinem destinationViewController durchzuführen.Swift EXC_BREAKPOINT beim Zuweisen von viewcontroller zu Variable in prepareForSegue

Die Fehlermeldung ist dies: Thread 1: EXC_BREAKPOINT (code = EXC_I386_BPT, Subcode = 0x0)

Diese in meiner prepareForSegue Funktion.

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
    if segue.identifier == "LoginSegue"{ 

     let vc = segue.destinationViewController as LoggedInViewController 
     vc.email = emailTextfield.text 

    } 
} 

In der anderen Datei sieht es so aus.

var email: String? 

das ist an der Spitze. Dann folgt aus:

override func viewDidLoad() { 
    super.viewDidLoad() 

    println("Email is:") 
    println(email) 
    println("Email was") 
} 

Aber ich nie in die zweite Datei kommen.

Es ist die Zeile vc = segue.destinationViewController als LoggedInViewController, die mit Fehler markiert ist.

Beide Swift-Dateien sind mit Navigationssteuerungen verbunden.

Ich weiß nicht, was Sie mehr brauchen, aber ich werde natürlich alle Code veröffentlichen, die Sie verstehen müssen!

Danke!

Antwort

28

In Ihrem Fall Ziel Controller ist Navigation Controller nicht Ihre LoggedInViewController, also segue.destinationViewController as LoggedInViewController ist ein Fehler, daher stürzt es ab.

versuchen, wie dieser

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
    if segue.identifier == "LoginSegue"{ 
      let navigationController = segue.destinationViewController as UINavigationController 

     let vc = navigationController.topViewController as LoggedInViewController 
     vc.email = emailTextfield.text 

    } 
} 
+0

Verdammt, das funktioniert! : D Kann nicht upo tote, bekam nur 1 rep! :(Aber danke, dass du dir etwas Zeit genommen hast, mir zu helfen :) –

+0

Ja, bemerkt! Ich habe jetzt! –

+0

OMG Ich brauchte Stunden um das zu lösen! Danke :) –

0

Falls jemand kommt hier, weil es der erste Treffer auf EXC_BREAKPOINT ist:

Für mich sehr aufschlussreich Ausnahme wegen eines fatal error: unexpectedly found nil while unwrapping an Optional value geworfen wurde, das geschah, weil ein IBOutlet verwendet wurde bevor es initialisiert wurde.

Verwandte Themen