didReceiveData没有获取所有数据

我正在尝试使用NSURLConnection下载JSON,但除非我强制应用程序暂停几秒钟,否则我得到的数据不完整。 它总是大约2600字节,我的响应应该是大约70000。

任何线索为什么会发生这种情况?

谢谢

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { _responseData = [[NSMutableData alloc] init]; //sleep(10); } - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [_responseData appendData:data]; [self getDataJSON: _responseData]; } 

didReceiveData被多次调用,而它正在接收数据

 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [_responseData appendData:data]; } 

你必须等到它完成接收数据

 - (void)connectionDidFinishLoading:(NSURLConnection*)connection { [self getDataJSON: _responseData]; } 

连接完成后,您可以获得完整的数据。 当它的connectionDidFinishLoading:调用委托方法时, NSURLConnection结束。 试试[self getDataJSON: _responseData]; 在那种方法中。 祝你好运!