Предупреждение за делегат на UIImagePickerController

Току-що сложих инструмент за избор на снимки в моя проект и всичко работи добре. Единственото нещо е, че настоява да ми даде следното предупреждение, когато задавам делегата -

Assigning to 'id<UINavigationControllerDelegate,UIImagePickerDelegate>' from incompatible type 'AddTargetViewController *'

Настроих делегата в AddTargetViewController.h по нормалния начин -

@interface AddTargetViewController : UIViewController <UIImagePickerControllerDelegate>

и не виждам нищо нередно. Както казах, работи добре и всички делегирани методи се задействат както трябва.

-(void)takePhoto {

    UIImagePickerController *imagePicker = [[[UIImagePickerController alloc] init] autorelease];

    imagePicker.delegate = self; // *** warning on this line ***
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;

    [self presentModalViewController:imagePicker animated:YES];

}

Благодаря за всяка помощ!


person SomaMan    schedule 02.03.2012    source източник


Отговори (2)


Това е дублиран въпрос към iPhone - UIImagePickerControllerDelegate inheritance.

Накратко вашият контролер за изглед трябва да отговаря на UINavigationControllerDelegate в допълнение към UIImagePickerDelegate.

person Zdenek    schedule 03.03.2012
comment
Благодаря - не знаете колко дълго търсих този сайт за отговор на това, но пропуснах този! Не мисля, че би било трудно за Apple да го направи малко по-ясно, тъй като не е ослепително очевидно (все пак не за мен...) - person SomaMan; 10.03.2012

Заедно с вашия UIImagePickerControllerDelegate просто добавете UINavigationControllerDelegate във вашия .h файл и той трябва да работи добре.

person Kunal Gupta    schedule 12.08.2015
comment
Можете ли да ми кажете каква е причината за това? - person Im Batman; 22.03.2017