У меня есть контроллер представления, который модально открывает MFMailComposeViewController.Когда я пытаюсь установить делегата контроллера почтового представления для родительского контроллера представления, я получаю следующее предупреждение:
Assigning to 'id<UINavigationControllerDelegate>' from incompatible
type 'MoreViewController *__strong'
Контроллер родительского представления определенно имеет MFMailComposeViewControllerDelegate в своем объявлении интерфейса и реализует метод делегата -mailComposeController: didFinishWithResult:error :
следующим образом:
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
NSLog(@"Delegate called");
}
Я действительно не понимаю, почему родительский контроллер представления распознается как UINavigationControllerDelegate, поскольку я не реализую эти методы и не объявляю их как таковые. Я бы не стал так беспокоиться об этом, но метод делегата никогда не вызывается, поэтому я предполагаю, что это «несоответствие» является частью проблемы.
Если это поможет, вот как я инициализирую контроллер представления почты, в viewDidLoad
:
// MAIL
self.mail = [[MFMailComposeViewController alloc] init];
self.mail.delegate = self;
Заранее спасибо за любые ваши мысли.