我有一个解析YT API的NSXMLParser。然后它将所有视频变成我写的一个叫做视频的类。然后将类放入数组中。然后回到我的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.
我该如何解决这个问题?
答案 0 :(得分:1)
如果arrayFromXML
是实例变量,则必须retain
或copy
(为了安全起见以后的操作),数组xmlParser
可能不再存在了稍后会调用其他方法:
arrayFromXML = [xmlParser.allVideos copy];
或者更好地使用copy
或retain
属性:
self.arrayFromXML = xmlParser.allVideos;