当视图从子视图返回时调用函数迅速

时间:2016-10-03 02:35:15

标签: ios swift viewdidappear

我有一个' PopUp'样式视图,显示为子视图,以便它显示在父视图控制器的前面,如下所示:

let popOverView = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("newProjectPopup") as! AddProjectViewController
self.addChildViewController(popOverView)
popOverView.view.frame = self.view.frame
self.view.addSubview(popOverView.view)
popOverView.didMoveToParentViewController(self)

关闭我正在使用的弹出式视图

self.view.removeFromSuperview()

除了在父视图中不调用viewWillAppearviewDidAppear方法这一事实之外,它的效果很好。当弹出窗口被取消时,我需要在父视图控制器中更新信息。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用委托模式更新父视图。

委托模式

protocol ParentViewControllerDelegate {
    func didUpdate(data: NSData)
}

class parentViewController: UIViewController, ParentViewControllerDelegate {

    func didUpdate(data: NSData) {
        // Update logic here
    }
}

然后在您的子视图控制器中,您可以在解除它之前调用委托didUpdate函数。