2011-05-26 13 views
6

Estoy tratando de crear un NSXMLParser y llamar a sus métodos de delegado. Al establecer el delegado en sí mismo (segunda línea a continuación) recibo una advertencia Sending 'XMLParserViewController *' to a parameter of incompatible type 'id <NSXMLParserDelegate>'. ¿Qué me falta aquí?No se puede establecer el delegado NSXMLParser en uno mismo

NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data]; 
[parser setDelegate:self]; 
[parser parse]; 
[parser release]; 
+1

¿Su clase 'XMLParserViewController' se ajusta al protocolo' NSXMLParserDelegate' (en la interfaz)? –

+0

Oh, está bien. Lo tengo. Gracias !! – NSExplorer

Respuesta

24

Cambie la línea: @interface XMLParserViewController : UIViewController (en su archivo .h) a:

@interface XMLParserViewController : UIViewController <NSXMLParserDelegate> 

Se le olvidó configurar su UIViewController como delegado del delegado (si se quiere).

+1

+1 Por usar el nombre de clase correcto y ser un poco más rápido que yo. –

5

En la declaración de uno mismo que debe tener:

@interface YourClass <NSXMLParserDelegate> 

dejar que el compilador sabe que su clase cumpla con el protocolo NSXMLParserDelegate.

Cuestiones relacionadas