2016-10-03 2 views
0

Derzeit arbeitet an meiner App, um schnell zu lernen (ich bin komplett neu). Und ich stieß auf einen Fehler, den ich einfach nicht lösen kann. Ich habe zwei Ansichten in meinem Storyboard mit zwei Viewcontrollern ViewController & Einstellungen.Fehler UIViewController hat kein Mitglied

In der Ansicht "Einstellungen" habe ich eine textfield, und in der Ansicht "ViewController" habe ich ein Etikett.

mag ich Text aus dem Textfeld auf „Einstellungen“, um mein Label weitergeben „Viewcontroller“

Derzeit bekomme ich folgende Fehlermeldung:

value of type 'UIViewController' has no member 'ViewController'

Mein Code sieht etwas wie dies für den Eingang Feld:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    var secondVC: ViewController = segue.destination.ViewController as ViewController 

    secondVC.receivedString = textField.text! 
} 

für das Label:

class ViewController: UIViewController { 

@IBOutlet var city: UILabel! 
var receivedString: String = "" 


override func viewDidLoad() { 
    super.viewDidLoad() 


    label.text = receivedString 
} 

die "Label.text" gibt mir eine zu ungelösten Kennung ..

Antwort

1

Um das Ziel viewController in Swift 3 zu bekommen es ist nur segue.destination nicht segue.destination.ViewController.

var secondVC = segue.destination as! ViewController 

Für zweite Fehler, den Sie city nicht UILabel mit Namen erklären haben label so muss es city.text = receivedString

+0

sein hmm, es hat den Fehler zu entfernen, wenn ich sagen entscheiden: Überschreibung func (für segue vorbereiten: UIStoryboardSegue, sender: Any?) { lassen secondVC = segue.destination as! ViewController secondVC.label = textField.text! –

+0

Ich denke, das ist was ich getan habe? Ist es nicht die beste Vorgehensweise, dies zu tun? –

+0

@JeppC In Ihrer Frage übergeben Sie die Zeichenfolge mit dem Objekt 'receivedString' und weisen den Text der Stadtbezeichnung in' viewDidLoad' zu. Dies ist die korrekte Methode zum Übergeben von Daten, da in 'prepare (for: sender:)' das UILabel-Objekt nicht initialisiert wird noch. –

Verwandte Themen