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];
在那种方法中。 祝你好运!