采用闭包的函数是否会自动异步?

时间:2016-10-20 03:46:26

标签: ios swift

我目前正在学习Swift中的回调,并试图理解一些非常基本的东西。我似乎无法在任何地方找到答案。

我理解,如果我这样做:

URLSession.dataTask(with: URLRequest) { data, response, error in }

它将执行异步网络请求,之后我可以使用完成处理程序中的结果自行完成工作。

但是,假设我想编写自己的函数来执行某种后台任务。简单地将闭包作为函数的参数(在函数体中调用)足以使函数异步工作?或者我还需要在函数体中调用GCD方法吗?

1 个答案:

答案 0 :(得分:3)

简单地使用回调参数不会影响方法的实现。如果您希望使其异步,那么您需要采取明确的步骤使其异步。这可以使用宏中央调度,操作队列或调用其他异步方法来完成。