Я пытался найти ответы на подобные вопросы, но у меня нет особого опыта, и у меня были проблемы с их выполнением, поэтому любая помощь будет очень признательна! Моя ситуация такова: когда я нажимаю кнопку в своем родительском ViewController, следующий код используется для вызова дочернего ViewController (кстати, дочерний элемент на самом деле является TableViewController, но, похоже, он работает нормально, «думая», что это нормальный Вьюконтроллер?):
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)
Что бы я хотел, так это передать массив из родительского в дочерний, где он будет использоваться в качестве данных TableView?
Во-вторых, когда я выбираю ячейку в дочернем TableView, я хотел бы, чтобы соответствующая информация была отправлена родителю, а дочерний элемент исчез.
Если это представляет интерес, мне удалось закрыть дочерний элемент под различных обстоятельствах (когда щелчок происходит в родительском элементе при отображении дочернего элемента), используя следующее:
controller?.willMove(toParentViewController: nil)
controller?.view.removeFromSuperview()
controller?.removeFromParentViewController()
Я был бы очень признателен за любой совет, даже если это ссылка на что-то, что может помочь!
addChildViewController(controller!)
можно просто добавитьcontroller.array = self.array
. и для возврата вы можете использовать метод делегата. - person Aju Antony   schedule 13.09.2017parentsViewVontroller
иparentsViewVontroller's
дляchildViewController
и передать значение этой переменной ИЛИ вы можете сделать делегатаchildViewController
и можете получать события обратно ИЛИ вы можете использовать блоки. - person TheTiger   schedule 13.09.2017