У меня есть запрос asynchronus в классе, как это,Как вызвать функцию завершения запроса asynchronus - Swift 2,0
class Req{
func processRequest(){
NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
//Do some operation here
})
}
}
И я называю этот метод из одного контроллера представления, как это,
class classOne{
func classOneFun(){
Req().processRequest()
self.demoFun()
}
func demoFun(){
//Do some operation here
}
}
И я зову ту же функцию от другого контроллера представления, как это,
class classTwo{
func classTwoFun(){
Req().processRequest()
self.sampleFun()
}
func sampleFun(){
//Do some operation here
}
}
Теперь я хочу позвонить demoFun()
или sampleFun()
только после завершения processRequest()
. Если demoFun() or sampleFun()
и processRequest()
находятся в одном классе, то я могу вызвать функции в обработчике завершения processRequest(). Но в моем случае я не могу этого сделать, поскольку у меня есть почти 20 контроллеров представлений, которые вызывают функцию processRequest(). Я не могу использовать SynchronusRequest, поскольку он устарел в Swift 2.0. Итак, как я могу вызвать другие функции после завершения асинхронного запроса?
Спасибо за ваш ответ. Я не использовал 'callback', и я не знаю, что это такое. Могу ли я узнать, как это работает? –
Или, если у вас есть какие-либо учебники по этому вопросу, можете ли вы поделиться этим здесь? –
callback - это имя параметра. Замените callBack на «shutThatIsGoingToBeCalledWhenTheRequestSucceeds» и посмотрите, имеет ли смысл. – gnasher729