首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift 2解析和KingFisher缓存图像

Swift 2解析和KingFisher缓存图像
EN

Stack Overflow用户
提问于 2016-08-04 17:30:56
回答 1查看 997关注 0票数 1

我正在使用KingFisher https://github.com/onevcat/Kingfisher

库,这样我就可以缓存图像,如果有人熟悉它,我需要一些提示。所以我有以下代码

代码语言:javascript
复制
let myCache = ImageCache(name: recipesClass.objectId!)
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
let optionInfo: KingfisherOptionsInfo = [
    .DownloadPriority(0.5),
    .CallbackDispatchQueue(queue),
    .Transition(ImageTransition.Fade(1)),
    .TargetCache(myCache)
]
if  let imageFile = recipesClass[RECIPES_COVER] as? PFFile {

let URL = NSURL(string: imageFile.url!)!

cell.coverImage.kf_setImageWithURL(URL, placeholderImage: nil,
    optionsInfo: optionInfo,
    progressBlock: { receivedSize, totalSize in
        print("\(indexPath.row + 1): \(receivedSize)/\(totalSize)")
    },
    completionHandler: { image, error, cacheType, imageURL in
        print("\(indexPath.row + 1): Finished")
})

} else {
     cell.coverImage.image = UIImage(named:"logo")
}

当我第一次进入视图时,它会正常地加载图像,并显示这些良好的信息。但是我还有一个刷新按钮,它对Parse进行查询,检查是否有新的配方,然后从集合视图重新加载数据,并输出"Finished“。

这是否意味着它会再次下载图像?还是从缓存中加载??

我之所以这样问,是因为它在单元格中以不同的方式附加图像,而不是在第一次加载时。

有什么想法吗?

附注:我想做的是,在每个单元中,我想缓存每个配方的对象ID的图像,所以当单元加载时,它有缓存的图像与这个唯一的对象id,从缓存中加载它,而不是下载它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-04 20:44:26

尝试以下代码:

代码语言:javascript
复制
var imageView:UIImageView!    
let mCa = ImageCache(name: "my_cache")
    let imagePath = getImagePath("image url")
    imageView.kf_setImageWithURL(NSURL(string: imagePath)!,placeholderImage: UIImage(named: "DefaultImageName"),optionsInfo: [.TargetCache(mCa)])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38763587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档