如何在NSOperationQueue中区分多个NSXMLParser

时间:2013-02-20 10:10:38

标签: cocoa nsxmlparser nsoperationqueue

我在NSXMLParser中有多个NSOperationQueue。当NSXMLParser调用parserDidEndDocument我需要区分thous解析器。我以为我可以使用userInfo这样的东西,但没有类似的东西。有没有办法区分解析器?

编辑:Thous解析器具有相同的委托parserDidEndDocument

结论:

@interface MyParser : NSXMLParser
@property (nonatomic, retain) NSString *action;
@end

@implementation MyParser
@synthesize action=_action;
@end

3 个答案:

答案 0 :(得分:1)

如果您阅读docs,您将看到解析器本身作为该方法的唯一参数传递,因此区分它们的简单方法是简单地检查传递的解析器。

为了使其工作,您可能必须保留对您创建的解析器的引用以供将来参考,但这通常不一定是个坏主意。

答案 1 :(得分:1)

NSOperation子类可以发布自己的通知。其他一些类只需要注册为观察者。

答案 2 :(得分:0)

我得出结论,最好的方法是专注于NSXMLParser

@interface MyParser : NSXMLParser
@property (nonatomic, retain) NSString *action;
@end

@implementation MyParser
@synthesize action=_action;
@end