IOS, как уволить UIImagePickerController после использования - PullRequest
0 голосов
/ 14 марта 2012

Я разрабатываю приложение, которое делает снимок с камеры. Здесь все хорошо, но после получения от его делегата я отклоняю и получаю exc_bad_access, вот код:

объявляем и открываем камеру:

-(void)ScattaFoto{
 UIImagePickerController *picke = [[UIImagePickerController alloc] init];
   // Delegate is self
   picke.delegate = self;

    // Allow editing of image ?
picke.allowsEditing=NO;


if(TARGET_IPHONE_SIMULATOR) {
      picke.sourceType =  UIImagePickerControllerSourceTypePhotoLibrary;
     }else{
    picke.sourceType =  UIImagePickerControllerSourceTypeCamera;
    }

   // Show image picker
[self presentModalViewController:picke animated:YES];   

}

и чем является событие делегата:

- (void) imagePickerController:(UIImagePickerController *)picke   didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// Access the uncropped image from info dictionary
//UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

// [picker release];
[self  dismissModalViewControllerAnimated: YES]; // Here i receive exc_bad_access
[picke release];
}

Я поставил .h ссылку на делегата imagePickerControl "UINavigationControllerDelegate, UIImagePickerControllerDelegate"

Кто-нибудь может мне помочь?

Ответы [ 3 ]

3 голосов
/ 14 марта 2012
- (void) imagePickerController:(UIImagePickerController *)picke didFinishPickingMediaWithInfo:(NSDictionary *)info{
    [picke  dismissModalViewControllerAnimated: YES];
}
1 голос
/ 12 марта 2014
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
       [picker.presentingViewController dismissViewControllerAnimated:YES completion:nil];

}

0 голосов
/ 14 марта 2012

Может быть, ARC выпускает ваш UIImagePickerController до вызова didFinishPickingMediaWithInfo?

Попробуйте поместить ваш UIImagePickerController в @property, например:

@property (nonatomic, strong) UIImagePickerController *picke;

Вы можете прочитать больше о @propertiesздесь.

Вам все равно придется выделить и инициализировать UIImagePickerController, прежде чем использовать его.

...