在UIViewController(splitviewcontroller的详细视图)中推入UIButton将打开一个UITableViewController,以弹出窗口的形式呈现。这是由segue完成的,并且“kind”在属性检查器中被设置为“Present as Popover”。当UITableViewController中的UITableViewCell被选中时,我想让UIViewController捕获这个选择。如何使用故事板从弹出窗口访问父视图控制器
这就是我想在的UITableViewController做:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath)
let myViewController = presentingViewController as! MyViewController
myViewController.variable = cell.someProperty
self.dismissViewControllerAnimated(true, completion: nil)
}
这给在日志中:“致命错误:意外发现零而展开的可选值”,表示我无法赶上parentview/presentingview。在阅读了popovers之后,我觉得我应该实现一个委托和委托方法somwhere。但我没有注意到如何。
这样做的正确方法是什么?
只是这样做,,, MYViewController.Variable = cell.someProperty .. –
感谢您的建议,但这并不奏效。 –