2010-09-13 8 views
0

У меня есть NSXMLParser, который анализирует API YT. Затем он превращает все видео в класс, который я назвал видео. Затем класс помещается в массив. Потом обратно в моем RootViewController я доступ xmlParser.allVideos (XmlParser класс я написал, что это делегат для синтаксического анализа XML Вот что мне с ним делать в viewDidLoad:.Пользовательские классы не сохраняются

arrayFromXML = xmlParser.allVideos; 

Тогда в розыгрыше Tableview я делаю это:

tempVideo = [arrayFromXML objectAtIndex:indexPath.row]; 
cell.textLabel.text = tempVideo.videoTitle; //crashes here and says NSString has been deallocated. 

Как я могу это исправить

ответ

1

Если arrayFromXML является переменной экземпляра вы должны retain или copy (чтобы быть в безопасности от последующего манипулирования) т? Хэ массив, как xmlParser просто не может быть живым больше, когда другие методы называются позже:

arrayFromXML = [xmlParser.allVideos copy]; 

Или еще лучше, используя copy или retain свойство:

self.arrayFromXML = xmlParser.allVideos; 
Смежные вопросы