Comment appeler recharger la vue de la table après avoir appelé dismissViewController dans swift?

Ma question est presque identique à celle trouvée ici: Comment appeler viewDidLoad après [self dismissModalViewControllerAnimated: YES];

et je suis sûr que la réponse est exactement ce dont j'ai besoin aussi. J'ai un ViewController (appelons-le A) a une list de tâches. Lorsque vous click une tâche dans la vue de tableau dans A, elle affiche un autre ViewController (B) de manière modale. Quand j'en ai fini avec la tâche sur B, je veux revenir à A en appelant dismissViewController, mais comment recharger la table?

La table est alimentée en données à partir d'une API REST, donc je ne pense pas que la suppression de cette ligne va fonctionner. Je vais devoir appeler l'API REST pour get la list des tâches, puis recharger la vue de la table.

Je ne suis pas très bien informé en Obj C donc j'ai de la difficulté à traduire cela. C'est ce que je pense qu'il faut faire.

Créez un protocole pour le délégué B ViewController. Faire un ViewController un délégué de BViewController et remplir ce protocole.

Ma question est de savoir comment B ViewController et B ViewController Delegate se connectent? Dans le ViewController B, existe-t-il un moyen de dire que cette action s'est produite pour que A le sache?

Plusieurs façons de procéder, mais la plus simple est probablement de surcharger viewWillAppear dans votre tableViewController et de placer l'appel reloadData dedans.

 override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) tableView.reloadData() } 

viewWillAppear est appelée à chaque fois que viewController est affiché à l'écran, donc à chaque fois que vous revenez sur votre tableViewController, il sera appelé et vos objects seront rechargés.

Ce que vous pouvez essayer est

 override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) self.tableView.reloadData() //or whatever your reload data function is }