Нужна помощь с учебником NSXMLPaser - PullRequest
0 голосов
/ 25 мая 2011

В последней части урока возникла проблема с переменной users, в которой говорится, что переменная users не объявлена.

Это объявляется в моем классе NSXMLPaser, который я создал как NSMutableArray, и я "#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];

}

Ответы [ 2 ]

0 голосов
/ 25 мая 2011

Либо вы используете «[parser.users count]», как сказал Бабжи, либо вы можете использовать точечную запись для всего, например «parser.users.count».

Также вы можете использовать «[[parser users] count]». Это означает, что вы сначала получаете пользователей коллекции парсера ("[пользователи парсера]"), а затем вызываете счетчик для этой коллекции ("[[пользователей парсера] количество]").

0 голосов
/ 25 мая 2011

используйте переменную user [parser.user count]

...