2014-06-14 73 views
-1

我想鏈接我的照片庫,以顯示UIImageView中的圖像,這將允許我添加過濾器,但是當您選擇照片並點擊「選擇」應用程序崩潰。以下是我正在使用的代碼; - (IBAction爲)chooseImage:(ID)發送方{UIImagePickerController委託警告 - 不兼容的類型

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」

請如果任何人有關於如何解決它或備用的代碼,將操作的建議,即,將不勝感激。

請儘量避免使用複雜的語言,我對編碼感到陌生,這個問題讓我一陣沮喪。

+0

您有加入的UIImagePickerController委託給你的.H? – JMarsh

+0

我不這麼認爲,那是什麼編碼? – user3739491

+0

在VSAppDelegate.h或VSViewController.h下?我嘗試了兩種方法,但在 – user3739491

回答

1

在你的頭文件中,你需要符合協議。

@interface YourViewController : UIViewController<UIImagePickerControllerDelegate>

,然後你需要實現的協議選擇。

閱讀本以供參考:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIImagePickerControllerDelegate_Protocol/index.html

+0

可以肯定,哪一個是頭文件? – user3739491

+0

頭文件是以'.h'結尾的文件另外,@David Xu,你需要更新你的代碼。 UIImagePickerControllerDelegate也需要UINavigationController協議。 – user2277872

2

你的類實際上需要符合兩個UIImagePickerControllerDelegate以及UINavigationControllerDelegate。這是在類聲明完成:

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

這樣做的原因已經被這裏介紹:iPhone - UIImagePickerControllerDelegate inheritance

+0

該項目在哪裏輸入?代表或.h或.m文件?我是否需要向主文件添加任何內容? – user3739491

+0

VSViewController是你寫的類嗎? – nklauza

+0

你的意思是我正在編碼嗎? – user3739491