我想从呈现的popover中获取值。我用Google搜索并得到了这个答案
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
YourViewController *controller = popoverController.contentViewController;
MyData *data = controller.yourData;
//Do something with data
}
但是我使用了UIPopOverPresentationController。那么我怎么能从这些委托方法中获取价值呢
func popoverPresentationControllerDidDismissPopover(popoverPresentationController: UIPopoverPresentationController) {
// var controller = popoverPresentationController.
}
或者我应该创建委托以将数据传递回主视图控制器吗?
答案 0 :(得分:6)
查看UIPopoverPresentationController
的文档,它继承自UIPresentationController
。
它具有属性presentingViewController
和presentedViewController
。其中一个应该引用您想要访问的控制器并将数据传递给/从以下数据获取数据:
func popoverPresentationControllerDidDismissPopover(popoverPresentationController: UIPopoverPresentationController) {
let controller = popoverPresentationController.presentedViewController
// Fetch data from the presented controller
}