添加了一个子视图控制器,如下所示:
// ParentViewController
if ((self.delegate?.showPopupSymtomDetailViewController(view: viewController, receiver: self)) != nil)
{
}
// ChildViewController
//MARK: PopUpCode
func popUpAt(parentViewController:UIViewController)
{
parentViewController.addChildViewController(self)
parentViewController.view.addSubview(self.view)
self.view.frame = parentViewController.view.frame
self.didMove(toParentViewController: parentViewController)
}如何将数据发回parentViewController,请指导。
发布于 2017-10-27 21:14:50
例如,您可以使用回调。
class ParentViewController: UIViewController {
if ((self.delegate?.showPopupSymtomDetailViewController(view: viewController, receiver: self)) != nil) {
viewController = { YourString in
//do here whatever you want in your parent view controller
}
}
}
class ChildViewController: UIViewController {
var callbackFunc: ((String) -> Void)? //You can decide if the object you want to send back, I used String but you can change it and even you can send more than one parameters back (String, ThirViewController, Bool)...
func popUpAt(parentViewController:UIViewController) {
parentViewController.addChildViewController(self)
parentViewController.view.addSubview(self.view)
self.view.frame = parentViewController.view.frame
self.didMove(toParentViewController: parentViewController)
callBack(YourString) //Here you pass the data from ChildViewController to ParentViewController
}
}还有其他方法可以将信息从ChildViewController发送回ParentViewController,但这取决于您的项目。这是一个你会经常做的动作吗?也许你需要一个委托来重用它。
https://stackoverflow.com/questions/46975429
复制相似问题