我有一个根viewController(v1)和第二个UIViewController(v2)。 v2显示按钮单击,v2有容器(c1)。我的问题是当我调用v2然后c1也同时加载但我需要在完全执行v2函数后加载c1。在v2中,我从数据库中获取值,因此需要一些时间。
答案 0 :(得分:3)
您必须在子容器中的func viewDidAppear(animated:Bool)方法中使用正确的代码,该方法在父完成其加载代码后执行
func viewDidAppear(animated: Bool)
{
// code
}
答案 1 :(得分:0)
不是停止容器加载,而是向子控制器添加一个委托,一旦V2完成加载,V2将调用该委托。
@protocol LoadingDelegate {
func didFinishLoading()
}
class ViewController V2 {
func viewDidLoad() {
childController.delegate = self
}
func finishedProcessing() {
// Finsihed processing
delegate. didFinishLoading()
}
}
class ChildController<LoadingDelegate> {
func didFinishLoading() {
// Do your stuff here
}
}
直到V2正在加载时,您可以在子控制器中显示活动指示器