自定义类未被保留

时间:2010-09-13 10:50:36

标签: iphone objective-c nsarray

我有一个解析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.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果arrayFromXML是实例变量,则必须retaincopy(为了安全起见以后的操作),数组xmlParser可能不再存在了稍后会调用其他方法:

arrayFromXML = [xmlParser.allVideos copy];

或者更好地使用copyretain属性:

self.arrayFromXML = xmlParser.allVideos;