Aplicación Delegado dar la advertencia: 'id ' no se ajusta a la del protocolo 'UIAlertViewDelegate'

StackOverflow https://stackoverflow.com/questions/4006921

Pregunta

Actualmente estoy usando un UIAlertView en el arranque en mi aplicación con la UIAlertViewDelegate. Todo funciona bien. El único problema es que me sale el aviso "tipo 'id' no se ajusta a la del protocolo 'UIAlertViewDelegate'" cada vez que me refiero a la App Delegado, y me da alrededor del 32 advertencias.

¿Alguien puede arrojar algo de luz sobre por qué estoy recibiendo esta advertencia y cómo puede satisfacerla?

Gracias de antemano!

¿Fue útil?

Solución

Me asumiendo delegado de la aplicación es su visión de alerta delegado?

Si es así, es necesario decirle al compilador que en la declaración del delegado de la aplicación. De esta manera:

@interface SomeAppDelegate : NSObject <UIApplicationDelegate, UIAlertViewDelegate> {

}

// ... rest of interface

@end

Y luego también hay que poner en práctica los métodos necesarios.

EDIT: Pensando en ello más, creo que probablemente se está perdiendo un molde cuando se hace referencia al delegado de la aplicación. Así que hay algo como esto:

MyAppDelegate* appDelegate = [[UIApplication sharedApplication] delegate];

// what you want is:

MyAppDelegate* appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];

Otros consejos

No podría existir en el hilo principal, intente

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"My Title"
                                                    message:@"My message"
                                                   delegate:self cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
[alertView performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:NO];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top