带完成块的 SDWebImage 预取
SDWebImage Prefetching with completion block
我的目标是用 'loading screen' 覆盖一个 collectionView,在 SDWebImage 将预取图像数组中的所有图像加载到缓存中之前,它不会被隐藏。
在我的 viewDidLoad 中,我检索了一组图像 URL,它将用于填充集合视图。检索到它们后,我计划使用 SDWebImagePrefetcher 来处理数组。
到目前为止我有以下内容:
let urls : [URL] = [URL(string: "https://trialwebsite.com/image1.png")!,URL(string: "https://trialwebsite.com/image2.png")!,URL(string: "https://trialwebsite.com/image3.png")!]
SDWebImagePrefetcher.shared().prefetchURLs(urls)
我正在努力弄清楚的是如何在处理完所有图像后使用完成块隐藏 'loading' 屏幕。
非常感谢任何帮助。
您可以使用 prefetchURLs:completed:
而不是使用 prefetchURLs
,它会有一个包含 finishedCount
和 finishedCount
的完成块(关闭,因为您正在编写 Swift) =14=] 无符号整数:
如方法文档中所述:
completionBlock
block to be called when prefetching is completed
这似乎是你要的。所以它会是这样的:
SDWebImagePrefetcher.shared().prefetchURLs(urls) { finishedCount, skippedCount in
// hide the 'loading' screen...
// you might need to implement your own counting logic
// to make sure that all images have been processed.
}
在 Swift v4.1 和 SDWebImage v3.8.2
SDWebImagePrefetcher.shared().prefetchURLs(arrayOfURLS, progress: nil, completed: { finishedCount, skippedCount in
print("Prefetch complete!")
})
我的目标是用 'loading screen' 覆盖一个 collectionView,在 SDWebImage 将预取图像数组中的所有图像加载到缓存中之前,它不会被隐藏。
在我的 viewDidLoad 中,我检索了一组图像 URL,它将用于填充集合视图。检索到它们后,我计划使用 SDWebImagePrefetcher 来处理数组。
到目前为止我有以下内容:
let urls : [URL] = [URL(string: "https://trialwebsite.com/image1.png")!,URL(string: "https://trialwebsite.com/image2.png")!,URL(string: "https://trialwebsite.com/image3.png")!]
SDWebImagePrefetcher.shared().prefetchURLs(urls)
我正在努力弄清楚的是如何在处理完所有图像后使用完成块隐藏 'loading' 屏幕。
非常感谢任何帮助。
您可以使用 prefetchURLs:completed:
而不是使用 prefetchURLs
,它会有一个包含 finishedCount
和 finishedCount
的完成块(关闭,因为您正在编写 Swift) =14=] 无符号整数:
如方法文档中所述:
completionBlock
block to be called when prefetching is completed
这似乎是你要的。所以它会是这样的:
SDWebImagePrefetcher.shared().prefetchURLs(urls) { finishedCount, skippedCount in
// hide the 'loading' screen...
// you might need to implement your own counting logic
// to make sure that all images have been processed.
}
在 Swift v4.1 和 SDWebImage v3.8.2
SDWebImagePrefetcher.shared().prefetchURLs(arrayOfURLS, progress: nil, completed: { finishedCount, skippedCount in
print("Prefetch complete!")
})