2010-10-13 2 views
6

Я работаю с NSXMLParser, который анализирует XML-документ. Вы должны установить делегат, который мы будем вызывать каждый раз, когда парсер находит элемент. Примеры я посмотрел на все установить делегат быть тот же самый класс, который createing:Как установить делегат в другом классе

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

Другие примеры установить делегат быть родителем. Что делать, если я хочу, чтобы другой класс (не относящийся к одному классу) обрабатывал делегат. Что такое синтаксис?

Я сделал это, но он не работает.

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

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

Thx для ваших ответов.

Я забыл сказать, что при вызове делегата я предположил, что это будет что-то вроде этого:

[parser setDelegate:Util]; 

Я предположил, что это, зная, что для установки делегата для того же класса сообщение является:

[parser setDelegate:self]; 

ответ

17

Сначала вы должны создать объект Util.

Делегат должен быть фактическим экземпляром класса :)

Util* util = [[Util alloc] init]; 
[parser setDelegate:util]; 
[util release]; 
Смежные вопросы