在Swift中,使用SDWebImage做缓存后获取缩略图的大小

//-----------------------------------------单张缓存照片---------------------------------------------- /// 单张图片缓存 /// /// - parameter array: 加载模型数组 private func cacheWebImage(array: [Statusviewmodel],finished:()->()){ //创建调度组 let group = dispatch_group_create() //记录 var dataLenth = 0 for viewmodel in array{ // .thumbnailRULs 这里面存放的是很多图片的url let count = viewmodel.thumbnailRULs?.count ?? 0 //不等于1,执行下一个循环 if count != 1{ continue } dispatch_group_enter(group) SDWebImageManager.sharedManager().downloadImageWithURL(viewmodel.thumbnailRULs![0],options: [],progress: nil,completed: { (image,_,_ ) -> Void in //图片缓存完成,但是图片不一定有image if image != nil { // 将image转成二进制数据 let data = UIImagePNGRepresentation(image) dataLenth += data!.length } //dispath_group_leave 要放到闭包的最后,才能够正确的测试出。 dispatch_group_leave(group) }) } //调度组回到主队列 dispatch_group_notify(group,dispatch_get_main_queue()) { () -> Void in printLog("图片缓存大小 \(dataLenth/1024)k") //执行闭包 finished() } } //-----------------------------------------取出缓存照片---------------------------------------------- //2判断图片是否已经正确的缓存Key let key = statusViewModle!.thumbnailRULs![0].absoluteString if let image = SDWebImageManager.sharedManager().imageCache.imageFromdiskCacheForKey(key){ size = image.size } //--------------------------------------------------------------简单的使用方式---------------------------------------------------------------------------- //加载零时数组 (添加尾随闭包类型) self!.cacheWebImage(tempArray){ if max_id > 0 { //上拉加载数据 self?.status += tempArray }else{ //下拉加载数据 self?.status = tempArray + self!.status } }

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...