label Text ändern bei View wechsel?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • label Text ändern bei View wechsel?

    Hallo zusammen, folgende info zu meinem problem.

    Xcode 7.1 beta und Swift 2 werden verwendet.
    Ich habe zwei ViewController. Einen "homeView" und der zweite ist der "detailView".
    am homeView gibt es Button1 und Button2
    am detailView gibt es Label1
    Ich möchte beim drücken von Button1 zum detailView wechseln und im Label1 "Button 1 gedrückt" anzeigen.
    beim drücken von Button2 möchte ich auf den detailView wechseln und im Label1 "Button 2 gedrückt" anzeigen.

    mit folgendem Code funktioniert das wechseln: (der Label Text wird natürlich nicht geändert, da ich es deaktiviert habe)

    C-Quellcode

    1. @IBOutlet weak var label1: UILabel!
    2. @IBOutlet weak var label2: UILabel!
    3. @IBAction func button1(sender: UIButton) {
    4. let vc : AnyObject! = self.storyboard!.instantiateViewControllerWithIdentifier("detailview")
    5. self.showViewController(vc as! UIViewController, sender: vc)
    6. // self.label1.text = "button 1 gedrückt"
    7. }
    Alles anzeigen
    aktiviere ich - self.label1.text = "button 1 gedrückt"

    erhalte ich sofort folgenden Fehler ohne das der View gewechselt wird:
    svhkH.jpg


    kann mir hier jemand helfen?
    Vielen Dank
    ich bin ein absoluter Anfänger und programmieren ist das nicht was ich mache :thumbsup:
  • ich nutze keine Storyboards und auch (noch) kein Swift
    aber eigentlich müsste es eine Methode prepareSeque geben oder so ähnlich, in der sollte es eigentlich den ViewController geben der gepushed wird und da kannst du dann eigentlich derNeueViewController.label.text = "dein Text der da rein soll"
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • Da das Label1 auf dem Detail View liegt ist auch der Detail View Controller für das Label zuständig und da sollte auch das Outlet für das Label1 deklariert sein. Die Action Methode button1(_:) ist ja bestimmt im Home View Controller implementiert. Das self in der Methode ist also der Home View Controller und nicht der Detail View Controller. Den Detail View Controller erzeugst du ja in der Methode erst.