Присвоение идентификатору'из несовместимого типа' CameraVIewController * '' - PullRequest
24 голосов
/ 20 декабря 2011

Assigning to id<UINavigationControllerDelegate,UIImagePickerControllerDelegate> from incompatible type CameraViewController* предупреждение показывает около picker.delegate = self; строки

-(IBAction) getPhoto:(id) sender {
UIImagePickerController * picker = [[UIImagePickerController alloc] init];
picker.delegate = self;

if((UIButton *) sender == takePhoto) {
    picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
} else {
    //picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
   picker.sourceType = UIImagePickerControllerSourceTypeCamera;
}

[self presentModalViewController:picker animated:YES];

}

Ответы [ 3 ]

83 голосов
/ 05 сентября 2013

Обратите внимание, что для использования средства выбора изображений необходимо соблюдать протоколы UIImagePickerControllerDelegate и UINavigationControllerDelegate.

14 голосов
/ 20 июля 2014

Просто добавьте оба протокола.

@interface MyViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>

Затем установите делегата явно.:)

8 голосов
/ 20 декабря 2011

В документации для UIImagePickerController говорится, что делегат должен реализовать протокол UIImagePickerControllerDelegate.Ваш CameraViewController либо не реализует этот протокол, либо не объявляет об этом в своем заголовке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...