2010-10-13 5 views
6

Je travaille avec NSXMLParser qui analyse un document XML. Vous devez définir le délégué auquel nous serions appelés chaque fois que l'analyseur trouvera un élément. Les exemples que je l'ai regardé tout mis le délégué à la même catégorie qui est createing:Comment définir un délégué dans une classe différente

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

D'autres exemples donnent le délégué à être le parent. Que faire si je veux une autre classe (non liée à la même classe) pour gérer le délégué. Quelle est la syntaxe pour le faire? J'ai fait ceci mais cela ne fonctionne pas.

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

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

Thx pour vos réponses.

J'oubliais de dire que lorsque vous appelez le délégué, je suppose que ce serait quelque chose comme ceci:

[parser setDelegate:Util]; 

Je supposais cela en sachant que pour définir le délégué pour la même classe que le message est:

[parser setDelegate:self]; 

Répondre

17

Vous devez d'abord créer l'objet Util.

Le délégué doit être une instance réelle d'une classe :)

Util* util = [[Util alloc] init]; 
[parser setDelegate:util]; 
[util release]; 
Questions connexes