2
我已經完成了一個NSXML解析器,但由於某種原因,這次我調用parse
時我的NSXMLParserDelegate方法未被調用。NSXMLParserDelegate方法不被調用
這裏就是我稱之爲解析:
- (void)parseXMLFile:(NSString *)pathToFile
{
NSURL* xmlURL = [NSURL fileURLWithPath:pathToFile];
_parser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];
[_parser setDelegate:self];
[_parser parse];
}
這裏是我的委託方法:
#pragma mark NSXMLParserDelegate Methods
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqualToString:@"section"])
{
_currentSection = [[Section alloc] init];
_currentSection.name = [attributeDict valueForKey:@"title"];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if([elementName isEqualToString:@"section"])
{
[_sections addObject:_currentSection];
[_currentSection release];
}
}
這是我的頭:
@interface Engine : NSObject <NSCoding, NSXMLParserDelegate>
我的XML文件是項目的一部分,所以我不知道爲什麼委託方法不會被調用。有任何想法嗎?
你怎麼知道他們沒有被叫?你是否有日誌記錄代碼,你沒有發佈或使用斷點? – 2011-12-27 20:48:45
我已經使用了斷點和日誌。我拿出了所有的日誌代碼。 – Thorax 2011-12-27 20:53:46
你確定'_parser'不是零嗎? – 2011-12-27 20:55:11