Нужна помощь с руководством по NSXMLPaser

#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.количество пользователей]