Предупреждение при открытии камеры iOS
Я только начинаю работать в iOS, поэтому для моего первого проекта я разрабатываю простое приложение для iOS, чтобы сделать снимок и отобразить его на экране.
Вот мой код, он на четвертой строке, что я получаю ошибку:
- (IBAction)takePicture:(id)sender {
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
[self presentModalViewController:imagePicker animated:YES];
}
Я получаю следующее предупреждение:
Assigning to 'id<UINavigationControllerDelegate,UIImagePickerControllerDelegate>' from incompatible type 'todd_learningViewController *const __strong'
Я не понимаю предупреждающее сообщение и не знаю, как избавиться от предупреждения.
Спасибо,
EDIT:
Мой заголовочный файл для класса выглядит следующим образом:
@interface todd_learningViewController : UIViewController <UIApplicationDelegate>
- (IBAction)takePicture:(id)sender;
@property (weak, nonatomic) IBOutlet UIImageView *pictureView;
@end
Как мне его изменить?
Ответы
Ответ 1
Сделайте свой класс реализованным UINavigationControllerDelegate
, и это предупреждающее сообщение исчезнет. Все методы этого протокола являются необязательными, поэтому вам не придется изменять класс реализации.
Почему мы должны это делать, это то, что я пытаюсь понять, но на данный момент это решение.
Ответ 2
Сначала введите ниже делегатов в классе
<UIPickerViewDelegate,UIPickerViewDataSource>
@interface className : NSObject <UIApplicationDelegate,UIPickerViewDelegate,UIPickerViewDataSource> {
}
Это должно быть как
@interface todd_learningViewController : UIViewController <UIApplicationDelegate,UIPickerViewDelegate,UIPickerViewDataSource>{
}
- (IBAction)takePicture:(id)sender;
@property (weak, nonatomic) IBOutlet UIImageView *pictureView;
@end