iOS Passe os dados de volta do viewController2 para o viewController 1 com o presentModalSegue
Eu tenho o viewController1 que faz um modal seguir para o meu viewController2, mas o
O viewController2 está embutido em um controlador de navegação
porque eu preciso da barra de navegação lá.
Eu implementei um protocolo para enviar os dados de volta do viewController2 para o viewController1, mas ele não funciona. Aqui está o meu código:
protocol writeValueBackDelegate {
func writeValueBack(value: String)
}
class viewController1: UITableViewController, writeValueBackDelegate {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "SelectAddress"{
if let dest = segue.destinationViewController as? MapAddressViewController{
dest.delegate = self
}
}
}
}
No viewController2, tenho o seguinte:
class viewController2: UIViewController{
var delegate: writeValueBackDelegate?
@IBAction func TaskOneClick(sender: AnyObject) {
delegate?.writeValueBack(txtAddress!.text!)
self.navigationController?.popViewControllerAnimated(true)
}
}
Eu não sei por que, mas ele funciona apenas se eu remover o controlador de navegação do meu secondviewController e fizer as etapas do viewController 1 para o viewController 2 diretamente, mas preciso do controlador de navegação para mostrar a barra de navegação.
Você sabe por que isso está acontecendo? ou Por que estou indo mal?