我写了一些代码来添加用相机拍摄的照片并将其添加到UIImages的NSMutableArray中。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissModalViewControllerAnimated:YES];
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
self.description.text = [NSString stringWithFormat:@"image is %d by %d", image.size.width, image.size.height];
//[self.imageArr addObject:image]
//[self saveImages];
}
“self.description.text”是一个UILabel,我在iPhone上测试时用来获取信息(我的macbook太旧了,无法升级到上一个操作系统和Xcode版本)。
我发现当我将图像添加到imageArr时,应用程序崩溃了(我知道imageArr不是nil,我已经使用UILabel描述来检查)。
如果我注释掉addObject和saveImages函数,我发现在我拍照后,描述说UIImage的宽度为0,高度为1084850176.有没有人之前遇到过这个问题?我一直试图在应用程序中拍摄并保存照片几天,我似乎无法解决这个问题。
修改 我通过使用%f而不是%d来修复图像尺寸问题(感谢idz!)。
当我取消注释[self.imageArr addObject:image]行时,它仍然崩溃。崩溃报告说在运行该行时异常类型是EXC_CRASH(SIGABRT)。我真的不知道这意味着什么,但我确定imageArr不是nil而且它是一个NSMutableArray,所以我不明白它为什么会一直崩溃。
答案 0 :(得分:0)
通常您必须分配并初始化self.imageArr
。
通常会导致这些错误的原因。此外,如果它是一个数组,请确保它是一个可变数组。