问题描述
||
在本教程的最后部分,我遇到了一个users变量的问题,它的用户变量未声明。
它是在我创建为NSMutableArray的NSXMLPaser类中声明的,并且正在“ #import \”设置NSXMLPaser类的头文件...
这是我正在研究的教程的链接,任何帮助将不胜感激。
http://wiki.cs.unh.edu/wiki/index.PHP/Parsing_XML_data_with_NSXMLParser
- (void) doParse:(NSData *)data {
Nsstring * filePath = [[NSBundle mainBundle] pathForResource:@\"data\" ofType:@\"xml\"];
NSData * fileData = [NSData dataWithContentsOfFile:filePath];
// create and init NSXMLParser object
NSXMLParser *nsXmlParser = [[NSXMLParser alloc] initWithData:fileData];
// create and init our delegate
XMLParser *parser = [[XMLParser alloc] initXMLParser];
// set delegate
[nsXmlParser setDelegate:parser];
// parsing...
BOOL success = [nsXmlParser parse];
// test the result
if (success) {
NSLog(@\"No errors - user count : %i\",[parser [users count]]); // users undeclared error here
// get array of users here
// NSMutableArray *users = [parser users];
} else {
NSLog(@\"Error parsing document!\");
}
[parser release];
[nsXmlParser release];
}
解决方法
您可以像Babji所说的那样使用\“ [parser.users.counts] \”,也可以对所有内容都使用点号,例如\“ parser.users.count \”。
另外,您可以使用\“ [[解析器用户]计数] \”。这意味着您首先获得解析器的集合用户(\“ [解析器用户] \”),然后调用该集合的计数(\“ [[[分析器用户]计数] \”)。
,使用用户变量[parser.user count]