#iphone #xcode #ios #nsxmlparser
#iPhone #xcode #iOS #nsxmlparser
Вопрос:
В последней части руководства у меня возникла проблема с переменной users, в которой говорится, что переменная users не объявлена.
Он объявляется в моем классе NSXMLPaser, который я создал как NSMutableArray, и я «# импортирую» файл заголовка класса 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];
}
Ответ №1:
Либо вы используете «[parser.users count]», как сказал Бабджи, либо вы могли бы использовать точечную нотацию для всего, например «parser.users.count».
Кроме того, вы могли бы использовать «[количество пользователей синтаксического анализатора]». Это означает, что сначала вы получаете пользователей коллекции синтаксического анализатора («[пользователи синтаксического анализатора]»), а затем вызываете count для этой коллекции («[количество пользователей синтаксического анализатора]»).
Ответ №2:
используйте переменную users [parser.количество пользователей]