如何阻止XCode自己做NSLog



我正在使用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代表我写这条消息?我必须这样做,因为我需要向用户显示图像正在下载。

我已经检查了一些答案,检查bytes!但这不是我的解决方案,因为我已经知道为什么会发生这种情况?,我只想阻止 XCode 将其打印在我一半的身上。

编辑

使用 NSURLConnection 下载时数据会损坏。

谢谢!

编辑:如果你有更多的图像,那么最好使用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;
}

最新更新