我找到了解决方案。
使用容器视图时,获取对嵌入式VC的引用的正确方法是实现准备segue方法并访问包含容器视图的VC类中的目标属性;像这样:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "sideVCSeg" { sideMenuVC = (segue.destination as! SideMenuViewController) } if segue.identifier == "centerVCSeg" { let navController = (segue.destination as! UINavigationController) centerVC = (navController.viewControllers.first as! centerViewController) } }
并且因为在加载视图时执行此方法我只需要将此行添加到viewDidLoad:
sideMenuVC?.delegate = centerVC