【发布时间】:2017-09-13 11:21:33
【问题描述】:
我已尝试查看与此类似的问题的答案,但我并不是特别有经验,并且在关注它们时遇到了麻烦,因此非常感谢任何帮助!我的情况如下:当我在Parent ViewController中按下一个按钮时,下面的代码用于调用一个Child ViewController(顺便说一下,Child实际上是一个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)
然后我想要将一个数组从 Parent 传输到 Child,它将用作 TableView 的数据?
其次,当我从 Child 的 TableView 中选择一个单元格时,我希望将相关信息发送给 Parent,并让 Child 消失。
如果有兴趣,我已经设法在不同的情况下关闭子项(当显示子项时在父项中发生单击时),使用以下方法:
controller?.willMove(toParentViewController: nil)
controller?.view.removeFromSuperview()
controller?.removeFromParentViewController()
我非常感谢任何建议,即使它是指向有用的东西的链接!
【问题讨论】:
-
您可以像在任意两个视图控制器之间传递数据一样传递数组。在
addChildViewController(controller!)行之后,您可以添加controller.array = self.array。并返回,您可以使用委托方法。 -
您可以将
parentsViewVontroller和parentsViewVontroller's实例中的属性设置为childViewController并将值传递给此变量,或者您可以创建childViewController的委托并可以接收回事件或者您可以使用积木。
标签: ios swift childviewcontroller parentviewcontroller