Comment renvoyer des données par popViewControllerAnimated pour Swift?

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

  1. Créer un protocol dans ChildViewController
  2. Créer delegate variable de delegate dans ChildViewController
  3. Étendre le protocole ChildViewController dans MainViewController
  4. Faire reference à ChildViewController de ChildViewController lorsque MainViewController navigate
  5. Définir la méthode de delegate dans MainViewController
  6. Ensuite, vous pouvez appeler la méthode 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) }