UIImagePickerController委托警告 - 不兼容的类型

时间:2014-06-14 01:18:30

标签: ios objective-c xcode5 appdelegate photolibrary

我试图链接我的照片库以在UIImageView中显示图像,这样我就可以添加过滤器,但是当您选择照片并点击“选择”时,应用程序崩溃。以下是我使用的代码;      - (IBAction)chooseImage:(id)sender {

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

picker.delegate = self;

picker.allowsEditing = YES;

picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

[self presentViewController:picker animated:YES completion:nil];

}

错误在于:

"picker.delegate = self;" 

并标注为*"分配给' id'来自不兼容的类型' VSViewController const_strong'

如果有人对如何修复它或将要运行的替代代码有任何建议,那将不胜感激。

请尽量避免过于复杂的语言,我对编码很陌生,这个问题让我感到沮丧。

2 个答案:

答案 0 :(得分:2)

您的课程实际上需要同时符合UIImagePickerControllerDelegateUINavigationControllerDelegate。这是在类声明中完成的:

@interface VSViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
/* ... */
@end

此处已涵盖此原因:iPhone - UIImagePickerControllerDelegate inheritance

答案 1 :(得分:1)

在头文件中,您需要符合协议。

@interface YourViewController : UIViewController<UIImagePickerControllerDelegate>

然后你需要实现协议选择器。

阅读本文以供参考:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIImagePickerControllerDelegate_Protocol/index.html