1

我会疯狂地试图弄清楚如何在会话 dataTaskWithRequest 完成之前阻止我的其余代码执行。无论我做什么,数据任务都不会 .resume() 直到其他一切都完成。没有任何效果。不使用 while 循环。不将任务放在单独的线程中(dispatch_async)。我无计可施。更糟糕的是,我觉得我忽略了一些简单的事情,因为似乎没有其他人在问这个问题。

4

1 回答 1

0

NSURLSession 是一个异步加载系统。当您告诉它开始时,它开始在自己的线程中获取数据,并且您的代码继续运行。如果您希望在请求返回数据执行代码,最简单的方法是将该代码放在完成处理程序块中(通过调用dataTaskWithRequest:completionHandler:)。

于 2016-05-02T04:16:20.877 回答