文档章节

FastImageCache使用总结

asjoker
 asjoker
发布于 2016/07/13 01:58
字数 260
阅读 143
收藏 0

看资料,好晕,自己写了个demo,总结一下

    func configFastImageCache(){
        var mutableImageFormats = [AnyObject]()
        let squareImageFormatMaximumCount = 400
        let squareImageFormatDevices:FICImageFormatDevices = [FICImageFormatDevices.Phone, FICImageFormatDevices.Pad]
        // 16 bgr
        let squareImageFormat16BitBGR = FICImageFormat(name: FICDPhotoSquareImage16BitBGRFormatName, family: FICDPhotoImageFormatFamily, imageSize: FICDPhotoSquareImageSize, style: FICImageFormatStyle.Style16BitBGR, maximumCount: squareImageFormatMaximumCount, devices: squareImageFormatDevices, protectionMode: FICImageFormatProtectionMode.None)
        mutableImageFormats.append(squareImageFormat16BitBGR)
        
        let sharedImageCache = FICImageCache.sharedImageCache()
        sharedImageCache.delegate = self
        sharedImageCache.setFormats(mutableImageFormats)
        
    }
    // ++++ FastImageCache FICImageCacheDelegate ++++++++++
    func imageCache(imageCache: FICImageCache!, wantsSourceImageForEntity entity: FICEntity!, withFormatName formatName: String!, completionBlock: FICImageRequestCompletionBlock!) {
        
        // Images typically come from the Internet rather than from the app bundle directly, so this would be the place to fire off a network request to download the image.
        // For the purposes of this demo app, we'll just access images stored locally on disk.
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
            
            if let cd = entity as? FICDPhoto{
                let filePathURL = cd.sourceImageURLWithFormatName(formatName)
                let sourceData = NSData(contentsOfURL: filePathURL)
                let sourceImage = UIImage(data: sourceData!)
                
                dispatch_async(dispatch_get_main_queue(), {
                    completionBlock(sourceImage)
                })
            }
        }
    }
    func imageCache(imageCache: FICImageCache!, shouldProcessAllFormatsInFamily formatFamily: String!, forEntity entity: FICEntity!) -> Bool {
        return false
    }
    func imageCache(imageCache: FICImageCache!, errorDidOccurWithMessage errorMessage: String!) {
        print("\t AppDelegate \(#function) ++++++++++++++++++ \(errorMessage)")
    }
  • 使用
        imgView = UIImageView(frame: CGRectMake(10, 100, 100, 100))
        self.view.addSubview(imgView)
        
        let img = FICDPhoto()
        img.sourceImageURL = NSURL(string: "https://img.alicdn.com/bao/uploaded/i2/2836521972/TB2cyksspXXXXanXpXXXXXXXXXX_!!0-paimai.jpg")
        FICImageCache.sharedImageCache().retrieveImageForEntity(img, withFormatName: FICDPhotoSquareImage16BitBGRFormatName) { (entity:FICEntity!, fmt:String!, img:UIImage!) in
            if entity is FICDPhoto{
                self.imgView.image = img
            }
        }

© 著作权归作者所有

asjoker
粉丝 10
博文 108
码字总数 79411
作品 0
东城
程序员
私信 提问
FastImageCache 架构分析

原文 文章介绍 本文章注重分析 FastImageCache 这个 Github 第三方图片IO库的架构和部分分析等等。 对于 FastImageCache 很多同学或多或少都会听过,但是网上很多人说这是一个网络图片库,我...

葱神大大
2018/06/22
0
0
iOS高效图片 IO 框架是如何炼成的

原文 当我们使用图片存储的时候,难免会涉及到文件IO,GPU渲染等问题,文章注重从计算机操作系统方面深入浅析地讲解如何优化图片IO的速度,提高 iOS 中 UIImageView 的渲染效率和内存优化,这...

葱神大大
2018/06/22
0
0
【逐渐提高】ios 代码库 集合类

系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错~ BlocksKit 将Block风格带入UIKit和Founcation cocoa-helpers 一些Cocoa的扩展 2年前的工程 Coconu...

创意总监
2014/08/30
260
1
iOS性能优化系列篇之“列表流畅度优化”

原文作者:HelloVincent 原文地址:https://juejin.im/post/5b72aaf46fb9a009764bbb6a#heading-1 这一篇文章是iOS性能优化系列文章的的第二篇,主要内容是关于列表流畅度的优化。在具体内容的...

iOS开发_小迷糊
05/28
0
0
iOS 照片查看器--PhotoBrowser

PhotoBrowser 是一个简单的 iOS Instagram 照片查看器,使用 Swift 编写,使用 Alamofire 网络库,SwiftyJSON JSON 解析库和 FastImageCache 存储和检索库。...

叶秀兰
2015/02/02
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

一起来学Java8(四)——复合Lambda

在一起来学Java8(二)——Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda。 Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用Lambda表达式实现函...

猿敲月下码
12分钟前
2
0
debian10使用putty配置交换机console口

前言:Linux的推广普及,需要配合解决实际应用方能有成效! 最近强迫自己用linux进行实际工作,过程很痛苦,还好通过网络一一解决,感谢各位无私网友博客的帮助! 系统:debian10 桌面:xfc...

W_Lu
43分钟前
10
0
aelf Enterprise 0.8.0 beta有奖公测,“Bug奖金计划”重磅开启

2019年9月30日,aelf Enterprise 0.8.0 beta版正式发布。aelf Enterprise 0.8.0 beta是一个完备的区块链系统, 包含完备的区块链系统、开发套件、开发文档、以及配套的基础应用和基础服务。 ...

AELF开发者社区
45分钟前
8
0
oracle 初始化数据库脚本

create user lpf identified by 123456; create tablespace lpf_ts_cms datafile '/opt/app/oracle/product/11.2.0/lpf.dbf' size 200M; alter user lpf default tablespace lpf_ts_cms; sel......

internetafei
49分钟前
7
0
深入了解Redis底层数据结构

说明 说到Redis的数据结构,我们大概会很快想到Redis的5种常见数据结构:字符串(String)、列表(List)、散列(Hash)、集合(Set)、有序集合(Sorted Set),以及他们的特点和运用场景。不过它们是...

TurboSanil
49分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部