在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 .. –
感謝您的建議,但這並不奏效。 –