我的问题很容易描述,但似乎很难解决。问题是使用Apple官方示例提供的自定义类(如IconDownloader.m
)自定义类加载图标,以避免在释放视图时发生崩溃。
我已经将IconDownloader
类添加到我的应用程序中,但是很显然,只有在tableview是根目录的情况下,这种方法才是好的。最大的问题是视图不是根视图。 Fe:如果我开始滚动第二个视图(该应用程序现在加载了图标),并且没有留下时间来完成下载,我将回到根目录,该应用程序崩溃,因为必须使用新图标更新该视图不再存在。
一种可能的解决方案是在视图中实现OperationQueue
,但是通过这种方法,我必须在更改视图时停止队列,并在返回视图时重新启动它,并且拥有N个队列的想法并不使我感到热心。
有人找到解决这个问题的好方法吗?
最佳答案
答案很简单,在dealloc中使用“ cancelDownload”方法。
例如。
- (void)dealloc {
for (NSIndexPath *indexPath in [imageDownloadsInProgress allKeys]) {
IconDownloader *d = [imageDownloadsInProgress objectForKey:indexPath];
[d cancelDownload];
}
//...
[super dealloc];
}
它移动完美:-)
关于iphone - IconDownloader,带有延迟下载的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2995709/