我正在使用NSURLConnection
从服务器加载图像(大小为1.2 mb)。我正在做的是delegate
我正在为我的imageView
(一个UIImageView
)分配收到的图片。所以它看起来像下载。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
UIImage *image = [UIImage imageWithData:receivedData];
imageView.image = image;
image = nil;
}
在XCode使用以下消息打印NSLog
期间。
<Error>: ImageIO: JPEG Corrupt JPEG data: premature end of data segment
我知道它的结果为UIImage
,然后将其分配给imageView
。
有没有阻止XCode代表我写这条消息? 我必须这样做,因为我需要向用户显示图片正在下载。 < / p>
我检查了bytes
时的一些答案!但它不是我的解决方案,因为我已经知道为什么会发生这种情况?,我只是想阻止XCode打印出来,这是我的一半。
被修改
使用NSURLConnection下载时数据会损坏。
谢谢!
答案 0 :(得分:3)
编辑:如果您有更多图片,那么最好使用SDWebImage来加载图片
首先接收该代表使用的整个图像数据:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
if (!receivedData)
{
receivedData = [NSMutableData data];
}
[receivedData appendData:data];
NSLog(@"Receiving data... Length: %d", [receivedData length]);
}
现在收到的数据完全是这个方法:
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
UIImage *image = [UIImage imageWithData:receivedData];
if(image)
imageView.image = image;
}