iOS Передача данных обратно из viewController2 в viewController 1 с presentModalSegue
У меня есть viewController1, который делает модальный переход к моему viewController2, но
viewController2 встроен в контроллер навигации
потому что мне нужна навигационная панель там.
Я реализовал протокол для отправки данных обратно из viewController2 в viewController1, но он не работает. Вот мой код:
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
}
}
}
}
На viewController2 у меня есть это:
class viewController2: UIViewController{
var delegate: writeValueBackDelegate?
@IBAction func TaskOneClick(sender: AnyObject) {
delegate?.writeValueBack(txtAddress!.text!)
self.navigationController?.popViewControllerAnimated(true)
}
}
Я не знаю почему, но он функционирует, только если я удаляю контроллер навигации из моего secondviewController и делаю переход от viewController 1 к viewController 2 напрямую, но мне нужен контроллер навигации, чтобы показать панель навигации.
Вы знаете, почему это происходит? или почему я делаю плохо.