我正在尝试使用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];
}
答案 0 :(得分:4)
didReceiveData被多次调用,而它正在接收数据
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[_responseData appendData:data];
}
你必须等到它完成接收数据
- (void)connectionDidFinishLoading:(NSURLConnection*)connection
{
[self getDataJSON: _responseData];
}
答案 1 :(得分:0)
连接完成后,您可以获得完整的数据。 NSURLConnection
在调用connectionDidFinishLoading:
委托方法时完成。在该方法中尝试[self getDataJSON: _responseData];
。祝你好运!