IOS - SWIFT - 带有图像的 CollectionView,从数组加载 URL
IOS - SWIFT - CollectionView With images, loading URLs from array
我有一个包含不同图像 URL 的集合视图和数组。当我启动应用程序时,集合视图开始通过数组加载图像:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
{
var cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! CellView
var url = arr[indexPath.row]
var urls = NSURL(string: url)
var data = NSData(contentsOfURL: urls!)
cell.ImageView.image = UIImage(data: data!)
return cell
}
问题出现了:
例如,在第 4 个单元格集合视图中,为所有 4 个单元格加载所有 4 urls,这需要很多时间。集合视图如何为特定的单元格加载特定的 url 并且不花时间将 url 加载到已经加载的单元格?
感谢您的帮助!!
我建议使用第三方库来解决这个问题,它叫做 SDWebImage。
并且对于单元格集中的每个图像视图:
self.imageView.sd_setImageWithURL(url, completed: block)
或者您可以使用类似的第三方库,正如 Asaf 告诉您的那样。我曾经使用 HANEKE 来制作 DL/cache 图片。
看看:https://github.com/Haneke/HanekeSwift
:)
我有一个包含不同图像 URL 的集合视图和数组。当我启动应用程序时,集合视图开始通过数组加载图像:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
{
var cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! CellView
var url = arr[indexPath.row]
var urls = NSURL(string: url)
var data = NSData(contentsOfURL: urls!)
cell.ImageView.image = UIImage(data: data!)
return cell
}
问题出现了: 例如,在第 4 个单元格集合视图中,为所有 4 个单元格加载所有 4 urls,这需要很多时间。集合视图如何为特定的单元格加载特定的 url 并且不花时间将 url 加载到已经加载的单元格?
感谢您的帮助!!
我建议使用第三方库来解决这个问题,它叫做 SDWebImage。
并且对于单元格集中的每个图像视图:
self.imageView.sd_setImageWithURL(url, completed: block)
或者您可以使用类似的第三方库,正如 Asaf 告诉您的那样。我曾经使用 HANEKE 来制作 DL/cache 图片。
看看:https://github.com/Haneke/HanekeSwift
:)