算法三:动态规划

阅读全文

基础算法:选择排序

阅读全文

基础算法:插入排序

阅读全文

算法基础二:递归和for循环

阅读全文

基础算法:交换排序

阅读全文

基础算法一:排序

阅读全文

读 SDWebImage 七 (SDWebImageTransition)

该类用于在视图类别加载图像完成后提供过渡动画。

  1. UIVit + WebCache.h 中的 sd_imageTransition
    用于UIKit(iOS和tvOS),使用
    + [UIView transitionWithView:duration:options:animations:completion] 进行过渡动画。

  2. 对于AppKit(macOS)
    使用 + [NSAnimationContext runAnimationGroup:completionHandler:]进行过渡动画。 我们可以调用+ [NSAnimationContext currentContext]来获取动画块中的上下文。 提供这些转换以用于基本用途。

  1. 如果需要复杂的动画,可以考虑直接使用Core Animation或使用SDWebImageAvoidAutoSetImage并实现自己的后映像加载完成。

阅读全文

读 SDWebImage 六 (SDWebImagePrefetcher)

SDWebImagePrefetcher 预先下载(预加载)图片,以方便后续使用,主要是用于部分图片需要先行下载并存储的情况。预先取出缓存中的一些URLs以供将来使用。 图像以低优先级下载。

SDWebImagePrefetcher 设计了两种回调方式:

  1. SDWebImagePrefetcherDelegate
    用来处理每一个预下载完成的回调,以及所有下载完成的回调

  2. block
    用来处理整体进度的回调,返回的是下载完成的数量和总数量等

阅读全文

读 SDWebImage 六(编码器五:SDWebImageGIFCoder)

SDWebImage 内部实现了一个图片解码/编码的图片编码器,用于图片的编解码、压缩。其中涉及到编解码管理(SDWebImageCodersManager)、编解码协议(SDWebImageCoderSDWebImageProgressiveCoder )、PNG/JPEG/TIFF编解码,解压缩,显示大图(SDWebImageImageIOCoder)、GIF编解码(SDWebImageGIFCoder)、WebP编解码(SDWebImageWebPCoder)以及辅助类(SDWebImageCoderHelper)。

SDWebImageImageIOCoder :内置编码器,该类遵守了 SDWebImageCoder协议,但并没有遵守 SDWebImageProgressiveCoder协议,说明该类仅针对git图片的编解码,并不支持git图片的逐行解码功能。

阅读全文

读 SDWebImage 六 (编码器四:SDWebImageImageIOCoder)

SDWebImage 内部实现了一个图片解码/编码的图片编码器,用于图片的编解码、压缩。其中涉及到编解码管理(SDWebImageCodersManager)、编解码协议(SDWebImageCoder)、PNG/JPEG/TIFF编解码,解压缩,显示大图(SDWebImageImageIOCoder)、GIF编解码(SDWebImageGIFCoder)、WebP编解码(SDWebImageWebPCoder)以及辅助类(SDWebImageCoderHelper

SDWebImageImageIOCoder :内置编码器,支持PNG,JPEG,TIFF,支持逐行解码。该类遵守 SDWebImageProgressiveCoder协议。该协议也遵守SDWebImageCoder协议,所以这个类要实现这两个协议的方法。

GIF
还支持静态GIF(意思是只处理第一帧)。
要获得完整的GIF支持,我们建议使用FLAnimatedImage或性能较差的SDWebImageGIFCoder

HEIC
该编码器还支持HEIC格式,因为ImageIO本身支持它。但这取决于系统功能,因此无法在所有设备上运行。

阅读全文