Разбор XML не работает, почему? - PullRequest
0 голосов
/ 12 января 2010
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
    nestedChannels = [ [ NSMutableArray alloc ] init ];
    ....
}

- (void)parser:(NSXMLParser *)parser didStartElement....
{
    Channel *channel = [ [ Channel alloc ] init ];
    [ nestedChannels addObject:channel ];
    ....
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string....
{
    Channel *channel = [ nestedChannels lastObject ];
    channel.thumbnail = string;
    ....
}

@interface Channel : NSObject {

NSMutableString *thumbnail;

}


@property (nonatomic, retain) NSMutableString *thumbnail;

Ошибка: * Завершение работы приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '* - [NSCFString thumbnail]: нераспознанный селектор, отправленный экземпляру 0x381c350'

Это как не в состоянии распознать тип объекта. Я что-то упустил

** nestedChannels является NSMutableArray *

Ответы [ 2 ]

0 голосов
/ 13 января 2010

Кажется, что это вызывает проблему.

channel.thumbnail = string;

Какой тип миниатюры в канале и какие мутаторы доступны? Мне кажется, что он пытается установить строку на миниатюру, но нет установщика, который принимает строку на миниатюре. Это миниатюра NSString?

0 голосов
/ 12 января 2010

Непонятно, о чем ты спрашиваешь; это разные методы? Ваше форматирование кода немного странно. Следует отметить, что если второй фрагмент действительно является методом (хотя скобок нет), вам необходимо добавить переданные данные, так как он может быть не полным элементом:

if (channel.name == nil) channel.name = [NSMutableString string];
[channel.name appendString: string];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...