Назначение 'id <UINavigationControllerDelegate, UIImagePickerControllerDelegate>' из несовместимого типа 'CameraVIewController *' '
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];
}
Ответы
Ответ 1
В документации для UIImagePickerController
указано, что делегат должен реализовать протокол UIImagePickerControllerDelegate
. Ваш CameraViewController
либо не реализует этот протокол, либо не объявляет, что он делает это в своем заголовке.
Ответ 2
Обратите внимание, что для использования подборщика изображений вы должны соответствовать протоколам UIImagePickerControllerDelegate
и UINavigationControllerDelegate
.
Ответ 3
Просто добавьте оба протокола.
@interface MyViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
Затем установите делегат.:)