データをダウンロードするためにサーバーにリクエストを送信するには、NSOperationを使用しています。データを受信した後、NSXMLParserを使用して応答を解析していますが、パーサーデリゲートメソッドを呼び出していません。
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
また
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
誰かが私が間違っているところを教えてもらえますか?
//Creating NSOperation as follows:
NSOperationQueue *operationQueue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(createRequestToGetData) object:nil];
[operationQueue addOperation:operation];
[operation release];
-(void)createRequestToGetData
{
NSError *error;
NSURL *theURL = [NSURL URLWithString:myUrl];
NSData *data = [NSData dataWithContentsOfURL:theURL];
MyXMLParser *theXMLParser = [[MyXMLParser alloc]init];
NSError *theError = NULL;
[theXMLParser parseXMLFileWithData:data parseError:&theError];
NSLog(@"Parse data:%@",theXMLParser.mParsedDict); //Cursor is not coming here.
[theXMLParser release];
}
注:MyXMLParserは、パーサーデリゲートメソッドを実装するNSObjectのサブクラスですが、カーソルがNSLogに到達していません。パーサーデリゲートメソッドにデバッグポイントを配置すると、これらのメソッドが呼び出されないことがわかりました。
誰かが問題がどこにあるのか、そして私がこれをどのように解決できるのかを教えてもらえますか?
前もって感謝します!