2010-10-13 17 views
6

Sto lavorando con NSXMLParser che analizza un documento xml. Devi impostare il delegato che verrebbe chiamato ogni volta che il parser trova un elemento. Gli esempi che ho guardato tutti insieme il delegato per essere la stessa classe che è createing:Come impostare un delegato in una classe diversa

NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:filename]; 
[parser setDelegate: self]; 

Altri esempi impostare il delegato per essere il genitore. Cosa succede se voglio un'altra classe (non correlata alla stessa classe) per gestire il delegato. Qual è la sintassi per farlo?

Ho fatto questo ma non funziona.

@interface Util : NSObject <NSXMLParserDelegate> { 
    //Some code here 
} 

//functions for the delegate and the implementation on the Util.m 
//. 
//. 
//. 

Thx per le vostre risposte.

Ho dimenticato di dire che quando si chiama il delegato ho pensato che sarebbe stato qualcosa di simile:

[parser setDelegate:Util]; 

ho assunto questo sapendo che per impostare il delegato per la stessa classe il messaggio è:

[parser setDelegate:self]; 

risposta

17

È necessario creare prima l'oggetto Util.

Il delegato deve essere un'istanza effettiva di una classe :)

Util* util = [[Util alloc] init]; 
[parser setDelegate:util]; 
[util release]; 
Problemi correlati