警告添加UIImagePickerController
问题描述:
我试图添加一个UIImagePickerController
,我得到一个incompatible type 'id<UINavigationControllerDelegate,UIImagePickerControllerDelegate>'
编译器警告。我需要知道为什么?并为其提供解决方案。警告添加UIImagePickerController
.M
imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setDelegate:self];
@interface GobblesViewController : UIViewController <UIImagePickerControllerDelegate>
{
UIImagePickerController *imagePicker;
}
@property (nonatomic,strong)UIImagePickerController *imagePicker;
警告点[imagePicker setDelegate:self];
,我不知道这是为什么发生的.h。
答
你得到这个警告,因为对象,self
在这种情况下,你传递到UIImagePickerController
的delegate
财产,不符合UIImagePickerControllerDelegate
和UINavigationControllerDelegate
协议。这是因为UIImagePickerController
是UINavigationController
的一个子类,它已经声明它自己的delegate
。
UIImagePickerController
上的delegate
属性被定义为:
@property (nonatomic, assign) id <UINavigationControllerDelegate, UIImagePickerControllerDelegate> delegate;
这意味着它是预期符合这两个协议的任何对象。
的@interface
声明你的类应该是...
@interface GobblesViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>