Storyboard-ы созданы программно.
Есть TabBarController c 2-мя ViewController-ами: VC1 и VC2.
Нужно, чтобы по окончании ввода textField в VC2 - в VC1 label появился введенный текст( без переходов).
<
protocol TextFieldDataDelegate: class {
func saveText(_ text: String)
}
class VC1: UIViewController, TextFieldDataDelegate {
private let label: UILabel!
let vc2 = VC2()
override func viewDidLoad() {
super.viewDidLoad()
vc2.delegate = self
}
func saveText(_ text: String) {
label.text = text
}
}
class VC2: UIViewController, UITextFieldDelegate {
weak var delegate: TextFieldDataDelegate?
private let textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
textField.delegate = self
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
}
func textFieldDidEndEditing(_ textField: UITextField) {
guard textField.text != "", textField == textField, delegate != nil else { return }
self.delegate?.saveText(textField.text!)
}
}
/>