Swift 斯威夫特·哈内克:缓存不';无法解决

Swift 斯威夫特·哈内克:缓存不';无法解决,swift,caching,haneke,Swift,Caching,Haneke,我正在尝试使用以下代码预加载一些图像: let thumbnailUrl = NSURL(string: urlString) let fetcher = NetworkFetcher<UIImage>(URL: thumbnailUrl) Shared.imageCache.fetch(fetcher) { println("Finished") } 这是一个bug还是我不理解imageCache.fetch()的用法 PD:我在整个代码中设置了断点,我可以保证缓存的键(

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

let thumbnailUrl = NSURL(string: urlString)
let fetcher = NetworkFetcher<UIImage>(URL: thumbnailUrl)
Shared.imageCache.fetch(fetcher) {
    println("Finished")
}
这是一个bug还是我不理解
imageCache.fetch()
的用法


PD:我在整个代码中设置了断点,我可以保证缓存的键(在本例中为url)是完全相同的,因此我不知道为什么在使用
.hnk_setImageFromURL()

时缓存没有解析。我坚持了3天。我希望这个答案将来对其他人有所帮助

问题是我没有为
获取程序指定格式名称,而
UIImageView.hnk\u 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")
}
let thumbnailUrl=NSURL(字符串:urlString)
let fetcher=NetworkFetcher(URL:thumbnailUrl)
let cache=Shared.imageCache
let format=self.imageView.hnk_格式
cache.fetch(fetcher,formatName:format.name){
println(“完成”)
}

以防任何机构需要上述代码。不要忘记在缓存对象中添加格式,即cache.addFormat(format)
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")
}