准备segue不使用swift

时间:2014-06-22 10:45:13

标签: objective-c uiviewcontroller swift

我在viewController中使用tableView。我正在尝试将数据发送到detailViewController。但出于某种原因,我无法推进细节视图。我没有收到任何错误。它只是不起作用。

这是我的segue代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject) {

        if (segue.identifier == "test") {

            let detailViewController: DetailViewController = segue.destinationViewController as DetailViewController
            //println(index)

            detailViewController.fromPreviousView = index


      //
    }

3 个答案:

答案 0 :(得分:3)

您以编程方式注册tableView单元格,因此它将创建不同的单元格而不是故事板中的单元格,因此没有segue。

解决方案是删除此行代码self.tableViewOutlet.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell"),并将故事板中的单元格标识符提供给“单元格”。它会起作用。

答案 1 :(得分:0)

这似乎是Xcode 6发布的最后一个测试版(4个可能直到测试版3)的错误。我遇到了同样的问题,直到我升级到这个新版本。永远不会调用“prepareForSegue”方法。相同的代码适用于之前的(beta 2)版本,但我在“Xcode 6 beta 4中的已知问题”中没有看到任何相关内容!发行说明中有一节,但有一份IB问题清单。

答案 2 :(得分:0)

右键单击MyStoryBoard->打开As->源代码,检查故事板的源代码。

搜索:

trigger="accessoryAction" 

如果找到,请将其删除。

有时ctrl + dragging会添加此附加属性,从而导致prepareForSegue出现问题。