ВНИМАНИЕ при добавлении UIImagePickerController - PullRequest
3 голосов
/ 10 января 2012

Я пытаюсь добавить UIImagePickerController, и я получаю incompatible type 'id<UINavigationControllerDelegate,UIImagePickerControllerDelegate>' предупреждение компилятора.Мне нужно знать почему?и решение этой проблемыи я понятия не имею, почему это происходит.

1 Ответ

10 голосов
/ 10 января 2012

Вы получаете это предупреждение, потому что объект, self в данном случае, который вы передаете свойству UIImagePickerController delegate, не соответствует UIImagePickerControllerDelegate и UINavigationControllerDelegate протоколов.Это связано с тем, что UIImagePickerController является подклассом UINavigationController, который уже объявляет о своем собственном delegate.

Свойство delegate в UIImagePickerController определяется как:

@property (nonatomic, assign) id <UINavigationControllerDelegate, UIImagePickerControllerDelegate> delegate;

Это означает, что он ожидает любой объект, который соответствует этим двум протоколам.

Объявление @interface для вашего класса должно быть ...

@interface GobblesViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...