要向服务器发送请求以下载数据,我正在使用 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 是实现 Parser 委托方法的 NSObject 的子类,但我的光标没有到达 NSLog。当在 Parser 委托方法中放置调试点时,发现这些方法没有被调用。
谁能告诉我问题出在哪里以及我如何解决这个问题。
提前致谢!