J'ai essayé de trouver des réponses à des questions similaires, mais je ne suis pas particulièrement expérimenté et j'ai eu du mal à les suivre, donc toute aide serait grandement appréciée! Ma situation est la suivante: quand j'appuie sur un bouton dans mon Parent ViewController, le code suivant est utilisé pour appeler un Child ViewController (en passant, l'enfant est en fait un TableViewController, mais il semble bien fonctionner "penser" c'est normal ViewController):Comment transférer des données entre les contrôleurs parent et enfant
controller = (storyboard?.instantiateViewController(withIdentifier: "People"))
addChildViewController(controller!)
controller?.view.frame = CGRect(x: 10, y: 200, width: 394, height: 300)
self.view.addSubview((controller?.view)!)
controller?.didMove(toParentViewController: self)
ce que je voudrais alors est de transférer un tableau de la mère à l'enfant, où il sera utilisé comme données de l'tableView? Deuxièmement, lorsque je sélectionne une cellule de TableView de l'enfant, je voudrais que les informations pertinentes soient envoyées au parent et que l'enfant disparaisse.
Dans le cas où il est intéressant, j'ai réussi à fermer l'enfant dans des circonstances différentes (en cas de clic dans le parent alors que l'enfant est affiché) en utilisant les éléments suivants:
controller?.willMove(toParentViewController: nil)
controller?.view.removeFromSuperview()
controller?.removeFromParentViewController()
J'apprécierais vraiment des conseils , même si c'est un lien vers quelque chose qui pourrait aider!
vous pouvez passer le tableau comme la façon dont vous transmettre les données entre les deux contrôleurs de vue. après la ligne 'addChildViewController (controller!)', vous pouvez juste ajouter 'controller.array = self.array'. et pour revenir, vous pouvez utiliser une méthode déléguée. – CoderFrom94
Vous pouvez rendre la propriété dans l'instance 'parentsViewVontroller' et' parentsViewVontroller's' à 'childViewController' et transmettre la valeur à cette variable OU vous pouvez faire un délégué de' childViewController' et recevoir les événements OU vous pouvez utiliser les blocs. – TheTiger