ios - didReceiveData没有获取所有数据

标签 ios nsurlconnection

我正在尝试使用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];
}

关于ios - didReceiveData没有获取所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20095234/

相关文章:

ios - Apple 开发者 APN 角色

ios - 将 map 框缩放到边界框

ios - 如何将此 HTML 表单转换为 iOS

ios - 如何使用 httpPost 上传多张图片?

ios - 如何确定 nsurclconnection 的编码是否经过 gzip 压缩

ios - 如何设置表格 View 中文本框的透明度? (X代码)

objective-c - 按照他们用 NSDictionary 添加的顺序获取值

ios - 如何在表格 View 中展开和折叠多行和子行

php - 如何查看从 Objective C cocoa 发送到 php 的 GET 请求的响应

objective-c - 带有 NSURLConnection 的 MBProgressHUD