Segue не работает должным образом - метка во втором контроллере вида не изменяется в зависимости от кнопки, нажатой в первом контроллере вида - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть контроллер представления, который имеет 2 кнопки и 2 текстовых поля, и второй контроллер представления, который имеет 1 метку. В тот момент, когда я нажимаю на кнопку «один», метка во втором контроллере представления меняется на «текстовое поле 1», а когда я нажимаю кнопку «два», эта же метка снова отображает «текстовое поле 1». В идеале я хочу, чтобы метка отображала «текстовое поле» при нажатии кнопки «один» и «текстовое поле 1» при нажатии кнопки «два». Ниже приведены 2 используемых контроллера представления и снимок экрана раскадровки, которую я использую. Любая помощь приветствуется.

Simulator

Раскадровка

Контроллер первого вида:

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var textField: UITextField!
@IBOutlet weak var textField1: UITextField!

var isButtonClicked: Bool = false

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    isButtonClicked = false
}

@IBAction func buttonOne(_ sender: Any) {
    if textField.text != "" {
        isButtonClicked = true
        performSegue(withIdentifier: "segue", sender: self)
}

}

@IBAction func buttonTwo(_ sender: Any) {

    if textField1.text != ""{
        isButtonClicked = true
        performSegue(withIdentifier: "segue", sender: self)
}

}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    var secondController = segue.destination as! SecondViewController
    secondController.myString = textField.text!
    secondController.myString = textField1.text!
}

Контроллер второго вида:

import UIKit  

class SecondViewController: UIViewController {

@IBOutlet weak var label: UILabel!

var myString = String()
}

override func viewDidLoad() {
    super.viewDidLoad()

    label.text = myString   
}
...