iOS常见第三方框架——SDWebImage

SDWebImage支持缓存异步图片下载,可以添加分类到UI界面如UIImageView, UIButton, MKAnnotationView。

特征


  • UIImageView, UIButton, MKAnnotationView分类添加网络图片和缓存管理
  • 采用异步图片下载方式
  • 自动管理缓存,采用异步方式对内存+磁盘进行图片缓存
  • 后台图片解压
  • 确保同一URL不会被重复下载数次
  • 确保不会阻塞主线程
  • 支持Objective-C 和 Swift

安装


CocoaPods安装
CocoaPods是Objective-C一个依赖管理库,能在你的项目中自动和简化用第三方库。看 Get Started 部分获取更多细节。

Podfile
platform :ios, '8.0'
pod 'SDWebImage', '~> 5.0'
Swift 和静态框架

Swift 项目 首先要使用 use_frameworks! 令所有 Pods 成为动态框架让CocoaPods生效。
但是, 在CocoaPods 1.5.0+ (with Xcode 9+), 支持对Objective-C && Swift 代码成为静态框架。可以用 modular headers 令SDWebImage 作为静态框架, 不再需要 use_frameworks!:

platform :ios, '8.0'
# Uncomment the next line when you want all Pods as static framework
# use_modular_headers!
pod 'SDWebImage', :modular_headers => true

否则,你依然需要使用use_frameworks!去将SDWebImage作为动态框架使用

platform :ios, '8.0'
use_frameworks!
pod 'SDWebImage'

用法


  • Objective-C
#import 
...
[imageView sd_setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
             placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
  • Swift
import SDWebImage

imageView.sd_setImage(with: URL(string: "http://www.domain.com/path/to/image.jpg"), placeholderImage: UIImage(named: "placeholder.png"))

你可能感兴趣的:(iOS常见第三方框架——SDWebImage)