我试图用以下代码预加载一些图像:
let thumbnailUrl = NSURL(string: urlString)
let fetcher = NetworkFetcher<UIImage>(URL: thumbnailUrl)
Shared.imageCache.fetch(fetcher) {
println("Finished")
}但是之后,当我尝试将它设置为imageview时,它会再次从网络下载它,而不是从缓存中读取它。这是代码:
self.imageView.hnk_setImageFromURL(
NSURL(string: urlString)
success: { thumbnail in
println("Finished setting image")
}
)这是一个bug,还是我想知道imageCache.fetch()的用法?
PD:我在整个代码中放置了断点,我可以保证缓存的键(在本例中是url)是完全相同的,所以我不知道为什么缓存在与.hnk_setImageFromURL()一起使用时没有解析。
发布于 2015-07-02 14:53:23
我被困在这上面三天了。我希望这个答案将来能对其他人有所帮助。
问题是,我没有将格式名称指定给fetcher,而UIImageView.hnk_setImageFromURL()指定了。解决这个问题的方法是:
let thumbnailUrl = NSURL(string: urlString)
let fetcher = NetworkFetcher<UIImage>(URL: thumbnailUrl)
let cache = Shared.imageCache
let format = self.imageView.hnk_format
cache.fetch(fetcher, formatName: format.name) {
println("Finished")
}https://stackoverflow.com/questions/31187232
复制相似问题