我试图从非主线程中打开segue。
我从活动视图中的类调用静态方法,如下所示:
import Foundation
class Request
{
static func callRequest(headers: [String: String]?, url: String, method: String, params: [String]?, view: UIViewController?, completion: AnyObject? -> ())
{
if notOnline() {
// view!.performSegueWithIdentifier("internetErrorSegue", sender: view)
dispatch_async(dispatch_get_main_queue()) {
view!.performSegueWithIdentifier("internetErrorSegue", sender: view!)
}
}
}
}
从我的ViewController,我正在调用这样的callRequest方法:
Request.callRequest(
nil,
url: someUrl,
method: "POST",
params: sendingData,
view: self) { json in
// processing json response
print(json)
})
}
如果我没有互联网,应该打开一个segue internetErrorSegue
。但实际情况是,它实际上是通过调用performSegueWithIdentfier
并且没有任何反应的行 - 它仍然停留在应用程序中(就像按下按钮时一样)。
我正在使用2个两个视图控制器之间存在一个segue。