我编写了一些代码来添加用相机拍摄的照片并将其添加到 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”是我在 iPhone 上测试时用来获取信息的 UILabel(我的 macbook 太旧,无法升级到最新的操作系统和 Xcode 版本)。
我发现当我将图像添加到我的 imageArr 时,应用程序崩溃了(我知道 imageArr 不是 nil,我使用了 UILabel 的描述来检查)。
如果我注释掉addObject和saveImages函数,我发现我拍照后,描述说UIImage的宽度为0,高度为1084850176。以前有人遇到过这个问题吗?这几天我一直在尝试在应用程序中拍摄和保存照片,但我似乎无法解决这个问题。
编辑: 我通过使用 %f 而不是 %d 解决了图像尺寸问题(感谢 idz!)。
当我取消注释 [self.imageArr addObject:image] 行时,它仍然崩溃。崩溃报告说运行该行时异常类型为 EXC_CRASH (SIGABRT)。我真的不知道这意味着什么,但我确信 imageArr 不是 nil 并且它是一个 NSMutableArray,所以我不明白为什么它一直在那里崩溃。