waitUntilAllTasksAreFinished error Swift
Your checkLogin
function is being called on another thread, so you need to switch back to the main thread before you can call self.performSegueWithIdentifier
. I prefer to use NSOperationQueue
:
func checkLogin(succeed: Bool, msg: String) {
if (succeed) {
NSOperationQueue.mainQueue().addOperationWithBlock {
self.performSegueWithIdentifier("logInTrue", sender: self)
}
}
}
Alternate: xCode 10.1 1/2019
func checkLogin(succeed: Bool, msg: String) {
if (succeed) {
OperationQueue.main.addOperation {
self.performSegue(withIdentifier: "logInTrue", sender: self)
}
}
}
With Xcode 8.0 and Swift 3, this has been modified to the following construct:
OperationQueue.main.addOperation{
<your segue or function call>
}