0

我编写了一些代码来添加用相机拍摄的照片并将其添加到 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,所以我不明白为什么它一直在那里崩溃。

4

1 回答 1

0

通常你必须分配和初始化self.imageArr.

这通常是导致这些错误的原因。此外,如果它是一个数组,请确保它是一个可变数组。

于 2013-04-03T03:04:41.587 回答