1

我正在尝试使用以下代码预加载一些图像:

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")
    }
)

这是一个错误还是我误解了 的用法imageCache.fetch()

PD:我在整个代码中都设置了断点,并且我可以保证缓存的(在本例中为 url)是完全相同的,所以我不知道为什么在使用时缓存没有解析.hnk_setImageFromURL()

4

1 回答 1

3

我被困在这个问题上 3 天。我希望这个答案将来可能对其他人有所帮助。

问题是我没有为 指定格式名称fetcherUIImageView.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")
}
于 2015-07-02T14:53:23.467 回答