2010-10-13 16 views
6

Pracuję z NSXMLParser, który analizuje dokument XML. Musisz ustawić delegata, który będziemy wywoływali za każdym razem, gdy parser znajdzie element. Przykłady Szukałem w ogóle ustawić delegata być tej samej klasy, który jest createing:Jak ustawić delegata w innej klasie?

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

Inne przykłady ustawić delegata być rodzicem. Co jeśli chcę, aby inna klasa (niezwiązana z tą samą klasą) obsługiwała delegata. Jaka jest to składnia?

Zrobiłem to, ale to nie działa.

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

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

Thx za twoje odpowiedzi.

zapomniałem powiedzieć, że przy wywołaniu delegata Przypuszczałem, że to będzie coś takiego:

[parser setDelegate:Util]; 

Sądziłem, to wiedząc, że aby ustawić delegata dla tej samej klasie komunikat:

[parser setDelegate:self]; 

Odpowiedz

17

Najpierw musisz utworzyć obiekt Util.

Delegat musi być rzeczywiste wystąpienie klasy :)

Util* util = [[Util alloc] init]; 
[parser setDelegate:util]; 
[util release]; 
Powiązane problemy