0

に複数NSXMLParserありNSOperationQueueます。NSXMLParser呼び出し時に、parserDidEndDocumentthous パーサーを区別する必要があります。のようなものを使用できると思いuserInfoましたが、そのようなものはありません。パーサーを区別する方法はありますか?

編集: Thous パーサーは、呼び出しのために同じデリゲートを持っていますparserDidEndDocument

結論:

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

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

3 に答える 3

1

docsを読むと、パーサー自体がそのメソッドの唯一のパラメーターとして渡されていることがわかります。そのため、どのパーサーが渡されたかを確認するだけで、それらを簡単に区別できます。

それが機能するためには、将来の参照のために作成したパーサーへの参照を保持する必要があるでしょうが、それは一般的に必ずしも悪い考えではありません。

于 2013-02-20T10:29:00.150 に答える
1

NSOperation サブクラスは、独自の通知を投稿できます。他のいくつかのクラスは、オブザーバーとして登録する必要があります。

于 2013-02-20T13:57:19.350 に答える
0

最善の方法は専門化することであるという結論に達しましたNSXMLParser

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

@implementation MyParser
@synthesize action=_action;
@end
于 2013-02-21T08:46:22.387 に答える