Мне нужно остановить переходный переход и показать предупреждение с помощью textField. Но затем, когда я нажимаю кнопку «ОК», я хочу перейти к следующему представлению, содержимое файла textfield.
Проблема в том, что когда я объявляю пункт назначения контроллера представления в prepareForSegue и передаю текст, потому что он равен нулю. Я пишу свой пример:
override func shouldPerformSegueWithIdentifier(identifier: String?, sender: AnyObject?) -> Bool {
var shouldSegue:Bool = true
if identifier == "FirstToSecondView" {
var alert = UIAlertController(title: "End the First", message: "Are you sure you want to end the first?", preferredStyle: UIAlertControllerStyle.Alert)
alert.addTextFieldWithConfigurationHandler{ (textField) in
textField.placeHolder = "Name"
}
presentViewController(alert, animated: true, completion: nil)
var okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) {
UIAlertAction in
println("OK Pressed")
let tf = alert.textFields?.First as? UITextField
//name is a declared variable above
if tf != nil {self.name = tf.text}
self.performSegueWithIdentifier("WorkoutToSummary", sender: self)
}
var cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) {
UIAlertAction in
println("Cancel Pressed")
shouldSegue = false
}
alert.addAction(okAction)
alert.addAction(cancelAction)
}
return shouldSegue
}
И затем в prepareForSegue я добавил это:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){
var namePass: String = self.name
if segue.identifier == "FirstToSecondView" {
let secondViewController = segue.destinationViewController as SecondViewController
secondViewController.name = namePass
}
}
Но в момент запуска prepareForSegue self.name равно nil
Заранее спасибо!!