我的问题很容易描述,但似乎很难解决。问题是加载图标,使用Apple提供的官方示例提供的IconDownloader.m
等自定义类,如果我发布视图,则可以避免崩溃。
我已将IconDownloader
类添加到我的应用程序中,但很明显,只有tableview是root用户才能使用此方法。最大的问题是视图不是根视图。 Fe:如果我开始滚动我的第二个视图(应用程序现在加载图标),并且没有时间完成下载,我回到root,应用程序崩溃,因为必须使用新图标更新的视图不再存在了。
一种可能的解决方案可能是在视图中实现OperationQueue
,但是我采用这种方法在更改视图时停止队列,并在我回来时重新启动它并且想要让N队列穿上不要让我热情。
有人找到了解决这个问题的好方法吗?
答案 0 :(得分:5)
答案很简单,在dealloc中使用“cancelDownload”方法。
例如。
- (void)dealloc {
for (NSIndexPath *indexPath in [imageDownloadsInProgress allKeys]) {
IconDownloader *d = [imageDownloadsInProgress objectForKey:indexPath];
[d cancelDownload];
}
//...
[super dealloc];
}
它完美地移动: - )