Я пытаюсь передать ввод текста со следующего ViewController:Segue анахронизм
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var inputField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
inputField.delegate = self
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
view.addGestureRecognizer(tap)
}
func dismissKeyboard() {
inputField.resignFirstResponder()
}
func textFieldDidEndEditing(inputField: UITextField) {
let info = inputField.text
performSegueWithIdentifier("goToBlue", sender: info)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "goToBlue" {
if let blueVC = segue.destinationViewController as? BlueViewController {
if let sentValue = sender as? String {
blueVC.receptacle = sentValue
print(blueVC.receptacle)
}
}
}
}
}
Для этого ViewController:
class BlueViewController: UIViewController {
@IBOutlet weak var blueText: UILabel!
var receptacle = "fail"
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
print(receptacle)
blueText.text = receptacle
print(receptacle)
}
}
print
заявление в первых ViewController выходов корректно, однако выход для print
Операторы во втором ViewController: fail
fail
, а метка на втором представлении читает «fail».
В связи с этим у меня есть причина полагать, что это вопрос времени.
Я прав? Как это исправить?
Этот код работает для меня. Как именно вы подключили свой сеанс? – vacawama
из текстового поля, на которое ссылается как входной элемент на BlueViewController @vacawama –