Невозможно присвоить значение типа 'String?' набрать 'UILabel?' - PullRequest
0 голосов
/ 26 марта 2020

Я только начал программировать, и теперь я пытаюсь работать с сегментами и копирую один пример: откройте новый экран с переносом текста из текстового поля, затем выйдите из этого экрана на основной с переносом информации со второго экрана, который является тем же текстом. Когда я открываю готовый проект, он прекрасно работает, а мой нет. Код один и тот же, все розетки, действия и сегменты одинаковы. И эту ошибку я получаю, если делаю переходы через экран. Ребята, пожалуйста, помогите)) ПЕРВЫЙ V C

class ViewController: UIViewController {

@IBOutlet weak var loginTF: UITextField!
@IBOutlet weak var passwordTF: UITextField!
@IBOutlet weak var resultLabel: UILabel!

@IBAction func loginTapped(_ sender: UIButton) {
    performSegue(withIdentifier: "detailSegue", sender: nil)
}
@IBAction func unwindSegueToMainScreen(segue: UIStoryboardSegue){
    guard let svc = segue.source as? SecondViewController else { return }
    self.resultLabel = svc.label.text
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    guard let dvc = segue.destination as? SecondViewController else { return }
    dvc.login = loginTF.text
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.view.endEditing(true)
}

} ВТОРОЙ V C

class SecondViewController: UIViewController {
var login: String?
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
    super.viewDidLoad()
    guard let login = self.login else { return }
    label.text = "Hello, \(login)"
}
@IBAction func goBackTapped(_ sender: UIButton) {
}  
}

1 Ответ

0 голосов
/ 26 марта 2020

Изменить

self.resultLabel = svc.label.text

на

self.resultLabel.text = svc.label.text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...