无法从iphone photolibrary保存UIImage

无法从iphone photolibrary保存UIImage,iphone,ios,uiimagepickercontroller,Iphone,Ios,Uiimagepickercontroller,我试图通过从iphone照片库中拾取图像来保存图像。但我无法拯救它。我的UIImage对象突然释放。我遇到以下错误: *-[UIImage release]:发送到解除分配实例0x83fa5b0的消息 请在下面检查我的代码: -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSLog(@

我试图通过从iphone照片库中拾取图像来保存图像。但我无法拯救它。我的UIImage对象突然释放。我遇到以下错误: *-[UIImage release]:发送到解除分配实例0x83fa5b0的消息

请在下面检查我的代码:

-(void)imagePickerController:(UIImagePickerController *)picker 
        didFinishPickingMediaWithInfo:(NSDictionary *)info {

    NSLog(@"finish picking media");

    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    if ([mediaType isEqualToString:@"public.image"]){

        UIImage *selectedImage = [info objectForKey:UIImagePickerControllerOriginalImage];
        NSLog(@"found an image");

        selectedImage=[self scaleAndRotateImage:selectedImage];
        NSLog(@"image scaled");
        //add image to mainpic
        imgvwProfile.image = selectedImage;
        NSLog(@"11");
        //[ setImage:selectedImage forState:UIControlStateNormal];
        self.imgPic=selectedImage;
        //self.isMainPicImageModified=YES;
        NSLog(@"22");
        //[self sendImage:selectedImage];
        NSLog(@"selectedimage width:%f ht:%f",selectedImage.size.width,selectedImage.size.height);
        [self saveImage:selectedImage withImageName:@"profilePic.png"];
        NSLog(@"33");
    }
}
当NSLog(@“11”);已经被执行了。 有人能帮我解释一下为什么我会犯这个错误吗

谢谢
Pankaj

您是否可以更改行下方的内容,并检查此语句是否存在问题

 imgvwProfile.image = selectedImage;
                To
 imgvwProfile.image = [selectedImage retain];

现在让我知道你的应用程序是否在此函数中崩溃。

你能在下面的行中更改并检查此语句是否有问题

 imgvwProfile.image = selectedImage;
                To
 imgvwProfile.image = [selectedImage retain];

现在让我知道您的应用程序是否在此函数中崩溃。

如果在执行NSLog(@“11”)后立即发生错误(您在控制台中看到11,对吗?),那么它是在释放self.imgPic的前UIImage时发生的。要验证这一点,只需输入
self.imgPic=null


如果是这样的话,请检查您的代码,查看以前对imgPic的发布调用或指向同一UIImage实例的其他变量。可能是在
scaleAndRotateImage
或其他方法中。

如果在执行NSLog(@“11”)后立即发生错误(您在控制台中看到11,对吗?),那么它是在释放self.imgPic的前UIImage时发生的。要验证这一点,只需输入
self.imgPic=null

如果是这样的话,请检查您的代码,查看以前对imgPic的发布调用或指向同一UIImage实例的其他变量。可以使用
scaleAndRotateImage
或其他方法