我想在模式视图内的导航控制器中展示自定义视图控制器。为此,我在界面生成器中创建了一个视图,添加了一个容器视图,并将所包含的视图嵌入到导航控制器中。包含的视图是我的自定义视图控制器DetailViewController。
我必须在运行时将依赖项添加到DetailViewController对象。这是我将展示DetailViewController的方法:
override func tableView(_: UITableView, didSelectRowAt: IndexPath) {
guard let record = records[didSelectRowAt.row] else { return }
let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let containerView = storyBoard.instantiateViewController(withIdentifier: "DetailContainer")
containerView.modalPresentationStyle = .overFullScreen
self.present(detailContainer, animated: true, completion: nil)
}
如何将记录添加到DetailViewController?我试图访问容器视图的子级,但是数组为空。 This Apple document说
必须与父对象同时实例化子对象,以便可以创建适当的父子关系。
我不确定如何实现。
答案 0 :(得分:0)
containerView.children
为空,因为未加载viewcontroller的视图。
您可以通过调用containerView.view
来强制加载视图,此后containerView.children
将存在。