У меня есть кнопка, и когда я нажимаю он I'm вызова функции Async:Ждите метод асинхронного перед тем Segue
func check(url : String){
let url = NSURL(string: url)
print("Checking")
dispatch_async(dispatch_get_main_queue(), {
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
if error == nil {
self.isWorking = true
}
else{
self.isWorking = false
}
}
}
task.resume()
})
}
Так что, когда я нажимаю мою кнопку я делаю следующее:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!){
let web = segue.destinationViewController as! ViewController()
check(url)
dispatch_async(dispatch_get_main_queue(), {
if (isWorking){
// Do stuff
}
})
}
Проблема заключается в том, что isWorking вызывается до завершения метода проверки.
Как я могу убедиться, что проверка завершена, прежде чем я сделаю свой чек для isWorking?
вы хотите, чтобы выполнить переход только после того, как http-вызов? Если это так, вы можете добавить обратный вызов. – Brduca
Да после http-вызова. – user5855868