我正在尝试使用self.performSegueWithIdentifier来更改在远程加载
JSON文件时故事板上的视图.为此,我使用
Swift类“代理”来执行HTTP请求.一切都在工作,当我写
self.performSegueWithIdentifier("toView2",sender: self)
出来的“完成”变量.为什么不起作用?我想这与“发件人:自我”有关.但我不知道如何解决这个问题.我在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) }
解决方法
@H_404_11@ 编辑:(我已经把一个略有不同的答案放在第一位)基本上,问题是您已经进入了一个边队列
并且通过刚刚得到主队列并调用它,它将工作得很好.
dispatch_async(dispatch_get_main_queue()) { self.performSegueWithIdentifier("toView2",sender: self) }
希望它有效