我目前正在学习Swift中的回调,并试图理解一些非常基本的东西。我似乎无法在任何地方找到答案。
我理解,如果我这样做:
URLSession.dataTask(with: URLRequest) { data, response, error in }
它将执行异步网络请求,之后我可以使用完成处理程序中的结果自行完成工作。
但是,假设我想编写自己的函数来执行某种后台任务。简单地将闭包作为函数的参数(在函数体中调用)足以使函数异步工作?或者我还需要在函数体中调用GCD方法吗?
答案 0 :(得分:3)
简单地使用回调参数不会影响方法的实现。如果您希望使其异步,那么您需要采取明确的步骤使其异步。这可以使用宏中央调度,操作队列或调用其他异步方法来完成。