采取的步骤:
我在线观看和阅读的所有教程仅包括我上面显示的步骤,并且segue开始正常工作。但是,在我的情况下,在添加以下内容之前我无法使其工作:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("detail", sender: tableView)
}
如果需要,我完全可以实现didSelectRowAtIndexPath方法。我只是想知道我是否遗漏了一些东西,因为它似乎在我在网上看到的所有内容中自动生效。
提前致谢!
答案 0 :(得分:0)
如果单击segue(故事板)并在侧面菜单上,则必须分配文本" detail"从
performSegueWithIdentifier("detail", sender: tableView)
标识符字段。
如下图所示
修改强>
尝试上面的代码,然后将NAME_OF_THE_DETAIL_VIEW_CONTROLLER更改为您的Detail ViewController。
在此代码中,我们设置了" self "在 performSegueWithIdentifier 之前。单击该按钮时,将 segue.destinationViewController 设置为新的ViewController。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.performSegueWithIdentifier("detail", sender: indexPath);
}
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "detail") {
var detailView = segue.destinationViewController as! NAME_OF_THE_DETAIL_VIEW_CONTROLLER
}
}
答案 1 :(得分:0)
谢谢大家的贡献。我发现问题是cellForRowAtIndexPath tableView函数中缺少以下内容。
let cell = self.tableView.dequeueReusableCellWithIdentifier("custom", forIndexPath: indexPath) as! CustomCell
我把这条线注释掉了,主要是因为我不知道它做了什么。 :)