Ios 自动接受闭包的函数是异步的吗?

Ios 自动接受闭包的函数是异步的吗?,ios,swift,Ios,Swift,我目前正在学习Swift中的回调,并试图理解一些非常基本的东西。我似乎在任何地方都找不到一个直接的答案 我理解如果我这样做: URLSession.dataTask(with:URLRequest){data,response,error in} 它将执行一个异步网络请求,之后我可以使用完成处理程序中的结果来完成自己的工作 但是,假设我想编写自己的函数来执行某种后台任务。仅仅将闭包作为函数的参数(在函数体中调用)就足以使函数异步工作吗?或者我还需要在函数体中调用GCD方法吗?简单地使用回调参数对

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

我理解如果我这样做:

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

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


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

简单地使用回调参数对方法的实现没有影响。如果希望使其异步,那么需要采取明确的步骤使其异步。这可以使用grand central dispatch、操作队列或调用其他异步方法来完成。

是的,您需要确保它位于另一个线程上。从参数调用函数不会使其异步。要使您的代码在后台工作,您需要使用GCD。默认情况下,dataTask发送异步请求