【问题标题】:Xcode Swift - How to go to specific navigation view controller from split controllerXcode Swift - 如何从拆分控制器转到特定的导航视图控制器
【发布时间】:2015-04-11 03:12:53
【问题描述】:

我在主视图控制器中有一个带有单元的拆分控制器。当我单击特定单元格时,我希望详细视图控制器切换到我的故事板上的特定视图控制器。

我尝试连接两个视图控制器(主视图控制器到新视图控制器),给新控制器一个故事板 ID“NewDetailSegue”并尝试了以下代码:

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    if (indexPath.row == 0) {            
        self.performSegueWithIdentifier("NewDetailSegue", sender: self)
}

但它根本不起作用并崩溃。如何让详细视图控制器与新的视图控制器保持一致?

这是错误:

2015-04-10 22:06:44.180 velcro[3616:174510] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<velcro.MainReportController: 0x7feeb95881b0>) has no segue with identifier 'NewDetailSegue'

【问题讨论】:

  • 它应该可以正常工作。你用了什么样的segue?
  • 我试过'show'和'show detail'。
  • 显示细节是对的。 - 好的,让我问你这个问题:我们现在是否与单击其他行时自动发生的另一个 segue 发生冲突?我的意思是,如果你已经有了从原型单元到正常细节视图的转场,那么转场不会神奇地消失。当您单击一个单元格时,就会触发该 segue。所以现在我们正试图同时做 两个 segues,这听起来像是灾难的秘诀。
  • 哦,对不起,还有一件事。每当您遇到崩溃时,您都会在控制台中获得非常有用的信息来解释原因。这些信息能告诉我们问题所在吗?请将其复制并粘贴到您的问题中。
  • 这里是错误:2015-04-10 22:06:44.180 velcro[3616:174510] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“接收器 () 没有标识符为 'NewDetailSegue'' 的 segue 我不认为存在 segue 冲突。

标签: ios xcode swift


【解决方案1】:

给新控制器一个故事板ID“NewDetailSegue”

但是 segue 需要标识符“NewDetailSegue”——而不是视图控制器。我敢打赌,当您将标识符附加到情节提要中的 segue 时,您的崩溃就会消失。

【讨论】:

  • 呸!接得好。我命名的是“身份”而不是“故事板转场标识符”……谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 2012-05-01
  • 2015-06-22
  • 1970-01-01
相关资源
最近更新 更多