我试图阻止我的tableview
在每次上下滚动中从 Firebase 加载图片。我该怎么办?我甚至不明白为什么会这样做,因为我正在使用名为“MSWebImage”的第三方库,它应该cache
在某处。
我还尝试了名为“KingFisher”的第三方库,它做了同样的事情。
编辑:我注意到,在向上滚动的同时,每个滚动条都会缓存到内存中,但磁盘为零
这是我用来获取图片的代码:
let productImageref = productsValue[indexPath.row]["Products"] as? String
FIRStorage.storage().reference().child("\(productImageref!).png").downloadURLWithCompletion({(url, error)in
if error != nil{
print(error)
}else{
cell.snusProductImageView.sd_setImageWithURL(url)
}
})
答案 0 :(得分:0)
也许您可以使用touchesBegan或touchesMoved之类的触摸方法,然后每次调用touchesMoved方法时调用self tableView.reloadData()。
答案 1 :(得分:0)
也许您应该在viewDidLoad中下载数据,以便只卸载一次。
存储在字典https地址中。
func convertGsToHttps (keySection: String, pathGsToConvert: String) {
FIRStorage.storage().referenceForURL(pathGsToConvert).downloadURLWithCompletion({(url, error)in
if error != nil{
print(error)
}else{
self.urlHttpsSection.updateValue(url! , forKey: keySection)
}
})
}
然后在cellForRowAtIndexPath
中let setImage = section.value as! String //Getting the key to my dictionary
//loadData()
for clave in urlGsSecciones.keys where clave == setImage
{
if setImage == clave
{
cell.imageCellBackground.contentMode = UIViewContentMode.ScaleAspectFill
cell.imageCellBackground.clipsToBounds = true
let urlHttps = urlHttpsSection[setImage]
print("urlHttps", urlHttps)
cell.imageCellBackground.sd_setImageWithURL(urlHttps)
}
}
**