1

应用程序因错误而崩溃_NSCFConstantString CGImage]: unrecognized selector sent to instance

尝试使用此代码的应用程序将图像保存到相册时

int currentimage = _imageScrollView.contentOffset.y / [pictures count];
UIImage *imageToShow = [pictures objectAtIndex:currentimage];

UIImageWriteToSavedPhotosAlbum(imageToShow, self, @selector(image: didFinishSavingWithError:contextInfo:), nil);
4

1 回答 1

2

根据您在评论中提供的信息,您正在使用指向 NSString(数组中的元素)的 UIImage 引用(“imageToShow”),这就是当 imageToShow 收到 CGImage 选择器时崩溃的原因。

要解决这个问题,您必须将 UIImage 引用放入数组中的 UIImage 对象。

UIImage *image0 = [UIImage imageWithContentsOfFile:"image0FullPath.png"];
UIImage *image1 = [UIImage imageWithContentsOfFile:"image1FullPath.png"];
pictures = [[NSArray alloc] initWithObjects:image0, image1, nil];

如果图像在 mainbundle 中,您可以使用 imageNamed 代替 imageWithContentsOfFile。imageNamed 仅接收文件名作为输入,并在 mainbundle 中搜索它。imageWithContentsOfFile 需要完整路径。

祝你好运!

于 2012-10-25T21:46:51.447 回答