我正在编写一个与 RESTful Web 服务交互的 iPhone 应用程序,我需要请求一个身份验证 token 以用于以后的所有请求。我希望尽可能避免多线程,而是使用异步 NSURLConnection 方法来确保主线程不会阻塞(从而确保用户界面保持响应)。
我遇到的问题是,我无法弄清楚如何让后面的请求等待获取 token ,而不使 token 获取成为同步请求并阻塞主线程。
我突然想到,我可以在一个循环中使用 token 获取完成时设置的信号量值,但这似乎很笨拙并且是错误的方法。有没有公认的正确方法?
最佳答案
如果您正在针对 iOS 5.0 或更高版本进行构建,则可以使用:
+[NSURLConnection sendAsynchronousRequest:queue:completionHandler:]
在 completionHandler:
block 中进行后续调用。
关于objective-c - 使用 NSURLConnection 串行发出异步请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882160/