Предупреждение о компиляции почты в приложении iPhone - PullRequest
0 голосов
/ 04 марта 2011

Моя электронная почта в приложении теперь работает, но я получаю предупреждение о компиляции.Я хотел бы исправить это, любая помощь или предложения будут оценены.

Я получаю это предупреждение.

/ Users / vikings1201 / Documents / iPhone Applications / LittleTipper_4.0 / tipApp /Classes / tipAppViewController.m: 1083: 0 / Users / vikings1201 / Документы / Приложения для iPhone / LittleTipper_4.0 / tipApp / Classes / tipAppViewController.m: 1083: предупреждение: класс «tipAppViewController» не реализует протокол «MFMailComposeViewControllerDelegate» 1005 *

-(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];
}

Ответы [ 3 ]

1 голос
/ 04 марта 2011

Он пытается защитить вас от установки свойства .delegate для объекта, который может не реализовывать методы делегата.

В вашем .h файле вам нужно сделать так, чтобы он объявил, что он реализует протокол делегирования.

@interface myVC : UIViewController <MFMailComposeViewControllerDelegate>
{
...
}
0 голосов
/ 04 марта 2011

MFMailComposeViewController ожидает, что сможет отправлять определенные сообщения своему делегату. Сообщения определяются как протокол. Вы устанавливаете делегата для экземпляра вашего tipAppViewController класса, но этот класс не реализует этот протокол. Вам необходимо a) реализовать требуемые методы и b) определить класс как реализующий этот протокол.

См .: Цель обучения C: Учебник для начинающих

0 голосов
/ 04 марта 2011

Должно быть довольно просто. Вы должны добавить в качестве интерфейса, который реализован tipAppViewController в файле tipAppViewController.h. Как то так.

@interface tipAppViewController : UIViewController<MFMailComposeViewControllerDelegate> {

Вы уже реализуете - mailComposeController: didFinishWithResult: error: он просто должен быть в вашем заголовочном файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...