【发布时间】:2016-04-28 20:21:42
【问题描述】:
在 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)
}
这在日志中给出:“致命错误:在展开可选值时意外发现 nil”,表明我未能捕获父视图/呈现视图。在阅读了弹出框之后,我觉得我应该在某个地方实现一个委托和委托方法。但我无法低估以及如何。
这样做的正确方法是什么?
【问题讨论】:
-
就这样吧,,, MYViewController.Variable = cell.someProperty..
-
感谢您的建议,但这不起作用。
标签: swift uitableview interface-builder popover