PerformSegueWithIdentifier不起作用

Fod*_*ddy 14 agent ios segue swift

我正在尝试使用use self.performSegueWithIdentifier来远程加载JSON文件时更改Storyboard上的视图.为此,我使用Swift类"Agent"来执行HTTP请求.当我写作时,一切都在运作

self.performSegueWithIdentifier("toView2", sender: self)
Run Code Online (Sandbox Code Playgroud)

超出"完成"变量.为什么不起作用?我想这与"发件人:自我"有关.但我不知道如何解决这个问题.我在Xcode上没有任何错误.它只是从我的服务器加载数据然后没有任何反应......

    @IBAction func goToView2(sender: AnyObject) {
    let done = { (response: NSHTTPURLResponse!, data: Agent.Data!, error: NSError!) -> Void in
        self.namesJSON = JSONValue(data!)
        self.performSegueWithIdentifier("toView2", sender: self)
    };
    Agent.post("http://api.example.com/test.php", headers: [ "Header": "Value" ],
        data: [ "test": "ok" ], done: done)
}
Run Code Online (Sandbox Code Playgroud)

sim*_*xan 30

编辑:(我首先给出了一个略有不同的答案)

基本上,问题是您已进入旁队列

只需获取主队列并调用其中的segue,它就可以正常工作.

dispatch_async(dispatch_get_main_queue()) {
   self.performSegueWithIdentifier("toView2", sender: self)
}
Run Code Online (Sandbox Code Playgroud)

希望它有效

  • 我得到`Receiver()没有带标识符的segue (2认同)