2011-03-04 7 views
0

내 응용 프로그램 전자 메일은 현재 작동하지만 컴파일 경고가 표시됩니다. 이 문제를 해결하고 싶습니다. 도움이나 제안을 보내 주시면 감사하겠습니다.iPhone에서 앱 메일 컴파일 경고

경고가 표시됩니다.

/사용자/vikings1201/Documents/iPhone 응용 프로그램/LittleTipper_4.0/tipApp/Classes/tipAppViewController.m : 1083 : 0/Users/vikings1201/Documents/iPhone 응용 프로그램/LittleTipper_4.0/tipApp/Classes/tipAppViewController.m : 1083 : 경고 : 클래스 'tipAppViewController는'위임 메소드를 구현하지 않을 수있는 객체에 .delegate 속성을 설정으로부터 당신을 보호하려고

-(IBAction)sendMail { 

    MFMailComposeViewController *mailComposer = [[[MFMailComposeViewController alloc] init] autorelease] ; 
    mailComposer.mailComposeDelegate = self; 

    if ([MFMailComposeViewController canSendMail]) { 
     [mailComposer setToRecipients:nil]; 
     [mailComposer setSubject:nil]; 
     [mailComposer setMessageBody:@"Default text" isHTML:NO]; 

     [self presentModalViewController:mailComposer animated:YES]; 
    } 
} 

- (void)mailComposeController:(MFMailComposeViewController*)controller 
      didFinishWithResult:(MFMailComposeResult)result 
         error:(NSError*)error { 

    [controller dismissModalViewControllerAnimated:YES]; 
} 

답변

1

'MFMailComposeViewControllerDelegate'프로토콜 구현하지 않습니다.

.h 파일에서 위임 프로토콜을 구현한다고 선언해야합니다.

@interface myVC : UIViewController <MFMailComposeViewControllerDelegate> 
{ 
... 
} 
+0

감사합니다. – Vikings

0

매우 간단해야합니다. tipAppViewController.h 파일의 tipAppViewController로 구현되는 인터페이스로 추가해야합니다. 이 같은.

@interface tipAppViewController : UIViewController<MFMailComposeViewControllerDelegate> { 

은 이미 구현되어 - mailComposeController을 : didFinishWithResult을 : 오류 : 그것은 단지 당신의 헤더 파일에 있어야합니다.

0

MFMailComposeViewController은 대리인에게 특정 메시지를 보낼 수 있어야합니다. 메시지는 프로토콜로 정의됩니다. 대리자를 tipAppViewController 클래스의 인스턴스로 설정하고 있지만이 클래스는이 프로토콜을 구현하지 않습니다. a) 필수 메소드를 구현하고 b) 해당 프로토콜을 구현하는 것으로 클래스를 정의해야합니다.

참조 : Learning Objective-C: A Primer

관련 문제