2012-03-02 3 views
11

그냥 사진 선택 도구를 프로젝트에 넣었습니다. 모든 것이 잘 작동합니다. 나는 정상적인 방법으로 AddTargetViewController.h의 대리자를 설정 한UIImagePickerController 대리자 경고

Assigning to 'id<UINavigationControllerDelegate,UIImagePickerDelegate>' from incompatible type 'AddTargetViewController *' 

- -

@interface AddTargetViewController : UIViewController <UIImagePickerControllerDelegate> 

내가 유일한 것은 그것이 내가 대리자를 설정 한 경우 나에게 다음과 같은 경고를주는 주장이다 틀린 것을 볼 수 없다. 내가 말했듯이, 그것은 잘 동작하며, 모든 델리게이트 메소드는 반드시 실행해야합니다.

-(void)takePhoto { 

    UIImagePickerController *imagePicker = [[[UIImagePickerController alloc] init] autorelease]; 

    imagePicker.delegate = self; // *** warning on this line *** 
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; 

    [self presentModalViewController:imagePicker animated:YES]; 

} 

어떤 도움을 주셔서 감사합니다!

답변

33

이것은 중복 질문 인 iPhone - UIImagePickerControllerDelegate inheritance입니다.

요약하면보기 컨트롤러는 UIImagePickerDelegate 외에도 UINavigationControllerDelegate을 준수해야합니다.

+0

감사합니다.이 사이트를 얼마나 오랫동안 트래킹했는지 모르겠지만 그 답변을 놓쳤습니다. 나는 그것이 어렴풋이 분명하지 않기 때문에 (어쨌든 나와 나에게 ...) – SomaMan

3

UIImagePickerControllerDelegate과 함께 .h 파일에 UINavigationControllerDelegate을 추가하면 정상적으로 작동합니다.

+0

그 이유는 무엇인지 말해 줄 수 있습니까? –

관련 문제