NSXMLParser в потоках переключения подклассов NSObject - PullRequest
0 голосов
/ 02 января 2011

Я только что создал подкласс NSObject, который инициализирует NSXMLParser, анализирует XML и затем вызывает метод в делегате, который я передаю подклассу:

Инициализатор:

- (id)initWithData:(NSData *)data interestingKeys:(NSSet *)interestingKeys_
      itemElm:(NSString *)itemElement_ delegate:(id <XDelegate>) delegate_ 
{
    if((self = [super init])) {
        self.delegate = delegate_;

        //create parser and start parsing
        NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
        parser.delegate = self;
        [parser parse];
        [parser release];
    }   
    return self;
}

Вызов метода в делегате:

- (void) parserDidEndDocument:(NSXMLParser *)parser 
{
    //calls parserDidFinishParsingData: in delegate class
    [self.delegate parserDidFinishParsingData:self.arrayOfDictionaries];
}

Затем я могу взять проанализированные данные (которые хранятся в self.arrayOfDictionaries) и использовать их в классе делегата.

Проблема в том, что я получаю следующие сообщения журнала:

[Switching to thread 11523]
[Switching to thread 11523]

Я вызываю проблемы для себя, помещая действие NSXMLParser в объект NSObjectподкласс?

DDXMLParser.h: https://gist.github.com/762235
DDXMLParser.m: https://gist.github.com/762236
Вариант использования: https://gist.github.com/762237

Приветствия

1 Ответ

1 голос
/ 02 января 2011

Где еще вы бы использовали его?Помимо функции C, корневого класса или подкласса другого корневого класса.

Нет ничего плохого в создании и использовании объектов Какао из ваших собственных пользовательских объектов Какао.

Сообщения журнала читаются какони пришли из отладчика и не имеют никакого отношения к использованию NSXMLParser.Отладчик прервал ваше приложение?Если это так, загляните в него и посмотрите, что там написано.

...