Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:在两个控制器之间创建segue不接受我的第二个视图控制器_Ios_Segue - Fatal编程技术网

Ios Swift:在两个控制器之间创建segue不接受我的第二个视图控制器

Ios Swift:在两个控制器之间创建segue不接受我的第二个视图控制器,ios,segue,Ios,Segue,我试图在两个uiviewcontrollers之间切换,但Swift不会编译我的代码。这是我的密码: prepareForSegue(segue: UIStoryboardSegue(identifier: "containerSegue", source: self, destination: EventColumnViewController.self), sender: nil) 其中EventColumnViewController是我的自定义ViewController类,下面是我得

我试图在两个
uiviewcontrollers
之间切换,但Swift不会编译我的代码。这是我的密码:

prepareForSegue(segue: UIStoryboardSegue(identifier: "containerSegue", source: self, destination: EventColumnViewController.self), sender: nil)
其中EventColumnViewController是我的自定义ViewController类,下面是我得到的错误:

Cannot find an initializer for type 'UIStoryboardSegue' that accepts an argument list of type '(identifier: String, source: ViewController, destination: EventColumnViewController.Type)'
为什么会这样?我怎样才能解决这个问题


这是我的类声明:
class EventColumnViewController:UIViewController,UIViewControllerTransitioningDelegate
您不想在函数签名中为PrepareForsgue指定特定的segue。相反,该函数接收触发的任何一个segue,您可以使用if块为某个segue执行特定代码

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if (segue.identifier == "containerSegue") {
        // perform specific code here.
    }
}
如果您确实希望以编程方式执行名为“containerSegue”的特定segue,则需要使用不同的函数:

performSegueWithIdentifier("containerSegue", sender: self)
请注意区别:

  • prepareForSegue用于在触发segue后进行设置(例如将数据传递给下一个控制器)
  • performsguewithidentifier实际上触发segue

谢谢!这可能会奏效,但现在不行。我在UITableView的didSelectItemAtPath方法中实现了这一点,但是现在表项没有突出显示,也没有出现segue。很难知道什么是错误的,可能是IBOutlet设置不正确?这里有一篇像样的博文(不是我的),把你正在使用的概念放在一起,也许会有帮助: