我使用以下代码执行HTTP-Request:
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];
之后我想使用收到的数据。我的问题是我无法在connectionDidFinishLoading中执行此操作,但必须在我的代码中的另一个位置执行此操作。由于这是一项异步任务,如何在任务完成之前验证我是否开始使用收到的数据?
提前致谢,
编辑:我的主要问题是在使用接收数据的代码之后调用委托。
答案 0 :(得分:2)
您只需将收到的数据保存在ivar中,即可随时使用。如果你真的想确定,你也可以在
中使用BOOL设置为YES- (void)connectionDidFinishLoading:(NSURLConnection *)connection
不要忘记,自iOS 5以来,NSURLConnectionDelegate(和DownloadDelegate)已经改变。
答案 1 :(得分:0)
下载AFNetworking库并将其用于您的连接。它有块方法,对我而言,使用的方法要比使用委托方法更“干净”。 AFNetworking适用于iOS 4及更高版本。
https://github.com/AFNetworking/AFNetworking
阅读这篇关于AFNetworking基础知识的文章: