下载并保存可以为空的图像

我正在使用NSURLConnection从web下载并保存雷达图像(.gif格式)。在connectionDidFinishLoading:方法中,我使用[UIImage imageWithData:]创建一个图像。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection  
{  
    // Problem is here. mutableData declared earlier.
    UIImage *baseImage = [UIImage imageWithData:mutableData];  

    if (baseImage)  
    {
        // do stuff with image
    }

    [mutableData release];
}
问题是我下载的图像有时是空白的,背景清晰。这不是图像中的错误(有时雷达上没有任何东西可以返回)。但是当发生这种情况时,我在控制台中收到此错误。当图像具有非常少量的像素(1或2)时,也会发生错误。
Error: ImageIO: malformed GIF frame#0 (600 x 550)
发生错误时,创建的图像为零。 600x550是我正在下载的图像的px大小。因此返回的图像为nil,这使得它看起来像下载失败了。 值得注意的是,baseImage可能在2种情况下失败,上面提到的那种情况,或者当我下载服务器上列出的实际上还没有的映像时。在第二种情况下,mutableData包含一个错误字符串。我仍然需要第二种情况失败所以我知道图像没有成功下载。 在这种情况下我需要做的是实际创建空白图像并保存它,以便用户能够看到下载正确执行。 有任何想法吗? 谢谢, 罗斯     
已邀请:
使用此代码:
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://files.me.com/ross.kimes/6cuagt"]];
UIImage *image = [UIImage imageWithData:data];
NSLog(@"%@", image);
我担心我在控制台和有效的UIImage对象中没有错误:( 我想你可以检测到字符串的存在= - 即NSSTring stringWithData:encoding: - 如果它是一个有效的字符串而且图像是nil你可能会认为这是一条错误信息?     
也许你可以这样:
@try{
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://files.me.com/ross.kimes/6cuagt"]];
UIImage *image = [UIImage imageWithData:data];
}@catch (NSException *ex) {
//Something goes wrong, create the image
}
    

要回复问题请先登录注册