2013-02-20 29 views
0

我在NSOperationQueue中有多个NSXMLParser。当NSXMLParser调用parserDidEndDocument我需要区分这些解析器。我以为我可以使用像userInfo这样的东西,但没有像这样的东西。有什么方法可以区分解析器吗?如何区分NSOperationQueue中的多个NSXMLParser

编辑:古都解析器具有相同的委托caling parserDidEndDocument

结论:

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

@implementation MyParser 
@synthesize action=_action; 
@end 
+0

是否有另一种方法来做这种专业化?只需将另一个属性添加到类NSXMLParser。 – kubo 2013-02-20 10:40:30

回答

0

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

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

@implementation MyParser 
@synthesize action=_action; 
@end 
1

如果你读了docs,你会看到解析器本身作为方法的唯一参数传递,所以区分它们的简单方法是简单地检查解析器是否通过了。

为了达到上述目的,您可能需要保留对创建的解析器的引用以供将来参考,但这通常不是一个坏主意。

+0

感谢您的回复。我已经有了另一个想法。我创建了专门用于“NSXMLParser”的类,并具有用于区分的属性。 – kubo 2013-02-20 10:34:08

1

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

+0

这也是不错的选择。但我认为专业化看起来很怪:)。 – kubo 2013-02-21 08:43:54

相关问题