ASAPImage 0.1.4

ASAPImage 0.1.4

lofo 维护。



ASAPImage 0.1.4

  • Louis Fournier 编写

ASAPImage

一个提供异步图像下载实用工具的库。

ASAPImageView

ASAPImageViewUIImageView 的子类。

它负责从 URL 获取图像,然后异步将其设置为 image 属性。

基本用法

import ASAPImage

let url: URL!

let asapImageView = ASAPImageView()
asapImageView.load(imageAt: url)

在请求进行过程中,对图像的任何后续修改,无论是通过新的 load(imageAt:) 调用还是直接设置 image 属性,都将导致“旧”请求的取消。

请求取消

cancel() 方法允许您取消当前进行的请求。

asapImageView.load(imageAt: url)
asapImageView.cancel()

请求完成

load(imageAt:) 接受一个可选参数,该参数是一个回调,用于在请求完成时通知您的代码。该回调参数是一个 Result 类型,它是一个具有 .success.failure(Error) 情况的 enum

asapImageView.load(imageAt: url) { result in
	switch result {
	case .success:
	     /* your logic */
	case .failure(let error):
	     /* your logic */
	}
}

取消请求将导致返回结果为 .failure(Error)

ASAPImageLoader

对于单纯的图片下载,可以使用 ASAPImageLoader 单例。

ASAPImageView 类似,它提供了一个 load(imageAt:completion:) 方法。这次,完成处理程序是必需的,其参数类型为 Result<Image>

ASAPImageLoader.shared.load(imageAt: url) { result in
	switch result {
	case .success(let image):
	     /* your logic */
	case .failure(let error):
	     /* your logic */
	}
}

请求取消

如果您想取消一个请求,可以使用 load(imageAt:completion:) 方法返回的 CancellationToken

let token = ASAPImageLoader.shared.load(imageAt: url) { /* your logic */ }
token.cancel()

CocoaPods 安装

CocoaPods 是一个 Objective-C 的依赖管理器,它可以自动化和简化在项目中使用第三方库的过程。有关更多信息,请参阅 入门指南 部分。

Podfile

pod 'ASAPImage'

如果您正在使用 Swift,请确保添加 use_frameworks!

use_frameworks!