Segue.destination没有显示目标VC

时间:2016-10-14 05:22:37

标签: ios swift segue

enter image description here

我正在尝试连接2个视图控制器以准备segue。当我在其中编写代码时,它不想提示我目标VC。在我的另一个视图控制器中,它出现了。

这是segue的代码

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "catView" {
            if let indexPath = self.tableView.indexPathForSelectedRow  {
                let value = subs[indexPath.row]

                print("value = \(value)")

                let controller = segue.destinationViewController as! Business_ViewController
                controller.cate_Id = value["id"] as! String
                controller.catTitleRec = value["NAME"] as! String
            }
        }
    }

只是为了显示代码上的错误,所以添加此屏幕截图

我上传了一张图片来显示我所有文件的结构。因为你可以看到2行的错误,我写了Business_ViewController,错误显示Type'SubCategories'没有下标成员

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:3)

catView asttribute inspector下的storyboard segue设置标识设置为catView,将您的segue标识符(已选中相关的segue)设置为Business_ViewController,然后确保您已创建{{} 1}}并将其设置为相应的viewcontroller,因为编译器根据您的第二个屏幕截图无法找到Business_ViewController

答案 1 :(得分:2)

你的错误并没有告诉你故事板或segue或类似的东西有什么问题。 (如果这是问题,它会表现为运行时错误。)

这是一个编译错误,告诉你它根本找不到类Business_ViewController。因此请仔细检查该类定义,并确保拼写正确。确保该类中没有编译错误。还要确保此文件包含在您正在构建的目标中。如果这是Objective-C类,请确保其标头包含在桥接标头中。它会是这样的,但如果没有看到Business_ViewController如何实现,我们就无法诊断出确切的问题。

答案 2 :(得分:2)

如果您不使用测试目标,请尝试删除它们。有时,当测试目标没有应用程序构建目标在编译源中具有的一些swift文件时,会发生此错误。当然,解决方案是添加包含'未声明类型'的文件。到测试目标或删除测试目标。