IconDownloader,懒惰下载的问题

时间:2010-06-08 08:20:53

标签: iphone lazy-loading nsthread nsoperation

我的问题很容易描述,但似乎很难解决。问题是加载图标,使用Apple提供的官方示例提供的IconDownloader.m等自定义类,如果我发布视图,则可以避免崩溃。

我已将IconDownloader类添加到我的应用程序中,但很明显,只有tableview是root用户才能使用此方法。最大的问题是视图不是根视图。 Fe:如果我开始滚动我的第二个视图(应用程序现在加载图标),并且没有时间完成下载,我回到root,应用程序崩溃,因为必须使用新图标更新的视图不再存在了。

一种可能的解决方案可能是在视图中实现OperationQueue,但是我采用这种方法在更改视图时停止队列,并在我回来时重新启动它并且想要让N队列穿上不要让我热情。

有人找到了解决这个问题的好方法吗?

1 个答案:

答案 0 :(得分:5)

答案很简单,在dealloc中使用“cancelDownload”方法。

例如。

- (void)dealloc {

 for (NSIndexPath *indexPath in [imageDownloadsInProgress allKeys]) {
  IconDownloader *d = [imageDownloadsInProgress objectForKey:indexPath];
  [d cancelDownload];
 }
 //...
    [super dealloc];
}

它完美地移动: - )