2010-10-13 4 views
6

Ich arbeite mit NSXMLParser, der ein XML-Dokument analysiert. Sie müssen den Delegaten festlegen, den wir jedes Mal aufrufen würden, wenn der Parser ein Element findet. Die Beispiele, die ich geschaut habe an allen Delegierten auf die gleiche Klasse sein, das heißt createing:So legen Sie einen Delegaten in einer anderen Klasse fest

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

Andere Beispiele, die die Delegierten stellen Sie die Eltern sein. Was, wenn ich möchte, dass eine andere Klasse (die nicht mit derselben Klasse verwandt ist) den Delegaten behandelt. Wie lautet die Syntax dafür?

Ich habe das getan, aber es funktioniert nicht.

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

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

Thx für Ihre Antworten.

Ich habe vergessen zu sagen, dass, wenn der Delegat ruft ich davon aus, dass es so etwas wie dieses wäre:

[parser setDelegate:Util]; 

ich dies, dass die Delegierten zu wissen, angenommen für die gleiche Klasse setzen die Nachricht:

[parser setDelegate:self]; 

Antwort

17

Sie müssen zuerst das Util-Objekt erstellen.

Der Delegierte hat eine tatsächliche Instanz einer Klasse sein :)

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