【发布时间】:2019-08-22 10:14:59
【问题描述】:
我正在尝试使用 AlamofireImage 为我的 tableView 实现 UITableViewDataSourcePrefetching 委托。但是我该如何设置呢?
我已经添加了委托,并在我的 viewDidLoad 中设置了:
self.tableView.prefetchDataSource = self
然后是相关方法:
func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) {
indexPaths.forEach {}
func tableView(_ tableView: UITableView, cancelPrefetchingForRowsAt indexPaths: [IndexPath]) {
indexPaths.forEach {}
在我的 cellForRowAt indexPath 方法中,我下载这样的图像:
let url = URL(string: car.fotoUrl)!
cell.imageCar.af_setImage(
withURL: url,
placeholderImage: placeholderImage,
imageTransition: .crossDissolve(0.2),
runImageTransitionIfCached: false,
completion: { response in
if response.result.isSuccess {
self.dismissLabel()
} else if response.error?._code == NSURLErrorNotConnectedToInternet{
self.showLabel()
}
总结一下,我想在预取方法中预加载图像,以改善表格视图的滚动,而不是在每次呈现单元格时下载它们。
【问题讨论】:
标签: swift uitableview alamofire prefetch