Я использую NSXMLParser для анализа API YouTube, и я получаю весь контент, который хочу, и помещаю его в класс с именем Video.Когда я пишу в класс изнутри parserDidEndElement и заканчиваю это видео, я записываю класс в NSMutableArray .Затем я NSLog название видео, которое было зарегистрировано в массиве.Это отличается для каждого видео.Я использую метод addObject: для добавления видео в массив.Однако, когда я использую parserDidEndDocument , я использую цикл for для чтения массива, и все записи имеют одинаковое значение заголовка последнего добавленного объекта!Что здесь происходит?
Я называю это в didEndElement:
Video *tempVideo = [Video new];
NSString *title = @"";
tempVideo = [allVideos objectAtIndex:[allVideos count]-1];
title = tempVideo.videoTitle;
NSLog(@"1videoTitle = %@", title);
Возвращается для каждого элемента 1videoTitle = (название видео)
Я называю это в didEndDocument:
int i;
Video *tempVideo = [Video new];
NSString *title = @"";
for(i=0;i<[allVideos count];i++){
tempVideo = [allVideos objectAtIndex:i];
title = tempVideo.videoTitle;
NSLog(@"videoTitle = %@", title);
}
Возвращается для каждого элемента videoTitle = (последний добавленный заголовок видео для всех 19 видео)