如何在不同的类中设置委托

时间:2010-10-13 13:59:37

标签: objective-c delegates nsxmlparser

我正在使用解析xml文档的NSXMLParser。您必须设置每次解析器找到元素时我们将调用的委托。我看过的例子都把委托设置为创建的同一个类:

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
//.
//.
//.

谢谢你的答案。

我忘了说在给代表打电话时我假设它会是这样的:

[parser setDelegate:Util];

我认为这知道要为同一个类设置委托,消息是:

[parser setDelegate:self];

1 个答案:

答案 0 :(得分:17)

您必须先创建Util对象。

委托必须是类的实际实例:)

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