Tengo un controlador de vista que abre un MFMailComposeViewController de forma modal. Cuando intento configurar el delegado del controlador de vista electrónico al controlador de vista de los padres, me sale esta advertencia:iPhone - MFMailComposeViewController delegado incompatible tipo
Assigning to 'id<UINavigationControllerDelegate>' from incompatible
type 'MoreViewController *__strong'
El controlador de vista de los padres definitivamente tiene MFMailComposeViewControllerDelegate en su declaración de interfaz y está implementando el método delegado -mailComposeController: didFinishWithResult:error:
de la siguiente manera:
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
NSLog(@"Delegate called");
}
Realmente no entiendo por qué el controlador de vista padre está siendo reconocido como un UINavigationControllerDelegate, ya que no implemento esos métodos ni lo declaro como tal. No estaría tan preocupado por eso, pero el método de delegado nunca se llama, así que supongo que este "desajuste" es parte del problema.
Si ayuda, esta es la forma en que estoy initting el controlador de vista electrónico, en viewDidLoad
:
// MAIL
self.mail = [[MFMailComposeViewController alloc] init];
self.mail.delegate = self;
Gracias de antemano por cualquier pensamiento que pueda tener.
¡Bingo, gracias! – Rob
Sin problemas. ¡Ese es un error que cometí muchas veces y todavía lo hago hasta hoy cuando tengo un poco de sueño! No estas solo :-). – mattjgalloway
mattjgalloway, gracias! :) – Oleg