ImageIO:CGImageRead_mapData'open'失败错误= 2

时间:2012-04-07 21:25:31

标签: ios uibutton uiimage

在我的应用中,我从磁盘加载图像以用作UIBUtton缩略图。

要获取图像,我覆盖了Drawing对象的thumbnailImage属性的getter,从磁盘加载图像:

- (UIImage *)thumbnailImage {

    if (_thumbnailImage) {
        return _thumbnailImage;
    }

    NSString *thumbnailImagePath = [[self getFullPathWithDataFilename:NO] stringByAppendingPathComponent:kThumbImageFileName];

    if ([[NSFileManager defaultManager] fileExistsAtPath:thumbnailImagePath]) {
        _thumbnailImage = [[UIImage imageWithContentsOfFile:thumbnailImagePath] retain];

        return _thumbnailImage;
    }

    return nil;
}
然后我将缩略图加载到我的每个按钮中,如下所示:

[button setImage:drawing.thumbnailImage forState:UIControlStateNormal];

在此之后,按钮被添加到视图中并且工作正常。但是,如果我移动创建缩略图图像的文件,当我单击按钮时出现以下错误(两次):

ImageIO: CGImageRead_mapData 'open' failed '/var/mobile/Applications/F07CB571-4AAA-47E2-B3EB-3D4523AE7B51/Library/root.stack/C1199105-062F-40A3-B56C-3BB1106AC003.drawing/thumbImage.png'
         error = 2 (No such file or directory)

这不会导致应用程序崩溃,缩略图仍会显示,但是我想清除此问题,以免引发错误。

我认为UIImage挂在对它创建的文件的引用上。我也尝试过对此进行破坏,并且无法识别导致错误的任何特定代码行。

0 个答案:

没有答案