使用线程从URL加载图像以及如何在dealloc上取消线程

时间:2010-12-10 01:53:39

标签: iphone multithreading uitableview

伙计们,你能帮助我找一个好的例子或者我应该开始的领导或这个操作的正确谷歌关键词。

我想开始学习iPhone中的线程,但我不知道如何开始,因为我不知道要搜索的正确术语或关键字。

如果你有一个这个例子的例子是最好的..

步骤:

  1. 我想加载很多图片。让我们说1000张图片
  2. 图像将加载到CustomTableCell中的表视图中。
  3. 对于每个可见的CustomTableCell(假设我只显示10个图像),我将创建一个单独的线程来从URL加载每个图像,这样就会有10个线程。
  4. 如果图像成功下载,我将缓存图像(缓存最多100张图像),(注意:在第3步,我实际上会先检查图像是否在缓存中可用,然后再从中下载图像URL)。
  5. 但是,如果用户滚动表并且现在一些CustomTableCell不可见,我需要取消/停止线程并将线程分配给新的可见CustomTableCell。
  6. 我感到困惑的部分:

    1. 关于如何创建和停止线程,

    2. 我如何知道单元格是否不再可见,是否在cellForRowAtIndexPath?上,如果它被表格视图所判断线程正在运行不是?

    3. 基本上我不知道如何在TableViewCellController中实现线程化?

1 个答案:

答案 0 :(得分:0)

您可能需要查看SDWebImage类库。我把它用于我的项目,它非常扎实。我认为它可以帮助你找到你想要的东西。

https://github.com/rs/SDWebImage