J'ai besoin de renvoyer des données de secondView à First View par popView. Comment puis-je renvoyer datatables par popViewControllerAnimated?
Merci!
Vous pouvez renvoyer des données en utilisant un delegate
protocol
dans ChildViewController
delegate
variable de delegate
dans ChildViewController
ChildViewController
dans MainViewController
ChildViewController
de ChildViewController
lorsque MainViewController
navigate
delegate
dans MainViewController
delegate
de ChildViewController
Exemple
Dans ChildViewController : Écrivez le code ci-dessous …
protocol ChildViewControllerDelegate { func childViewControllerResponse(parameter) } class ChildViewController:UIViewController { var delegate: ChildViewControllerDelegate? .... }
Dans MainViewController
// extend `delegate` class MainViewController:UIViewController,ChildViewControllerDelegate { // Define Delegate Method func childViewControllerResponse(parameter) { .... // self.parameter = parameter } } **Segue** override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { let goNext = segue.destinationViewController as ChildViewController goNext.delegate = self }
Sans Segue
let goNext = storyboard?.instantiateViewControllerWithIdentifier("childView") as ChildViewController goNext.delegate = self self.navigationController?.pushViewController(goNext, animated: true)
Appel de méthode
self.delegate?.childViewControllerResponse(parameter)
Si vous voulez envoyer des données en sautant, vous feriez quelque chose comme:
func goToFirstViewController() { let a = self.navigationController.viewControllers[0] as A a.data = "data" self.navigationController.popToRootViewControllerAnimated(true) }