访问UIImagePickerController的didFinishPickingImage返回的图像属性时获取EXC_BAD_ACCESS

时间:2011-03-14 15:10:53

标签: iphone objective-c ios ios4 uiimagepickercontroller

我现在正在模拟器中工作,当试图访问UIImagePickerController的didFinishPickingImage返回的图像属性时,我收到一个EXC_BAD_ACCESS错误:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
    NSLog(@"Image size: %@", img.size);
}

我做错了什么?

3 个答案:

答案 0 :(得分:5)

您正在尝试打印对象(“%@”格式说明符),但大小为CGSize类型,其类型为明文struct。使用

NSLog(@"Image size: %@", NSStringFromCGSize(img.size));

NSLog(@"Image size: (%f, %f)", img.size.width, img.size.height);

答案 1 :(得分:0)

UIImage.sizea structure,不是对象,因此您无法在NSLog中使用%@来记录它。试试这个:

NSLog(@"Image size: %.0f %.0f", img.size.width, img.size.height);

答案 2 :(得分:0)

请改为:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
    NSLog(@"Image size: %f by %f", img.size.width, img.size.height);
}