Ios 在集合视图中缓存图像

Ios 在集合视图中缓存图像,ios,swift,caching,nsurlsession,Ios,Swift,Caching,Nsurlsession,我被困在如何修理东西上了。我目前有一个iPhone应用程序,字面上是Instagram,但只是水平和分页,用户可以看到朋友的照片 现在我已经创建了一个函数,可以从firebase获取图像并将它们放入数组中。现在,这与执行共享URLSession一起非常有效。我注意到我的应用程序的内存使用率很高,所以我添加了一个URLcache,并设置了它的最大容量限制,实际上,现在我想起来有点高。但我仍然获得了高内存(171mb),这只是加载了4个图像,这使得我似乎没有正确缓存数据 我仍在学习如何使用URLSe

我被困在如何修理东西上了。我目前有一个iPhone应用程序,字面上是Instagram,但只是水平和分页,用户可以看到朋友的照片

现在我已经创建了一个函数,可以从firebase获取图像并将它们放入数组中。现在,这与执行共享URLSession一起非常有效。我注意到我的应用程序的内存使用率很高,所以我添加了一个URLcache,并设置了它的最大容量限制,实际上,现在我想起来有点高。但我仍然获得了高内存(171mb),这只是加载了4个图像,这使得我似乎没有正确缓存数据

我仍在学习如何使用URLSessions和缓存,因此如果设置错误,这也可能会导致问题。在线用户说使用SDWebImage,但实际上,用户不会向下滚动,也不能快速向下滚动,因为第一次分页是启用的,而且是水平的。这是我的一些代码,请告诉我你认为我应该怎么做

 urlcache in 
viewDidLoad() { //probably too high..
  let memoryCapacity = 500 * 1024 * 1024
    let diskCapacity = 500 * 1024 * 1024
    let urlCache = URLCache(memoryCapacity: memoryCapacity,     diskCapacity: diskCapacity, diskPath: "myDiskPath")
    URLCache.shared = urlCache
 }
 // cellforrow
if posts.count != nil  {
         let pozt = posts[indexPath.row].pathToImage
        let url = URL(string: pozt!)
        URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in
            if error != nil {
                print(error?.localizedDescription as Any)
                return
            }
            DispatchQueue.main.async {
                cell.myImage.image = UIImage(data: data!)
                self.loader.stopAnimating()
            }
        }).resume()
    }
    cell.myImage.image = UIImage(named: imaqes[0])
  return cell
 }

我认为几乎所有的swift程序员都使用库来缓存图像。 我使用翠鸟而不是SDWebImage。它重量轻,使用简单

要安装:

播客文件:

pod 'Kingfisher'
在终端:

pod install
在swift文件中:

import Kingfisher
在您的情况下,请下一步使用:

// cellforrow
if posts.count != nil  {
    let pozt = posts[indexPath.row].pathToImage
    let url = URL(string: pozt!)

    DispatchQueue.main.async {
        cell.myImage.kf.setImage(with: url!) //Using kf for caching images
    }
}

return cell
也许您应该将
.kf.setImage
与comletion处理程序一起使用来删除加载程序。你应该明白这一点


希望它有帮助

有帮助吗?:)是的,我的意思是,我想这可能就是我想要的