当前位置: 首页 > news >正文

【多线程-第四天-自己模拟SDWebImage的下载图片功能-下载操作管理类 Objective-C语言】

一、下载操作管理类

1.我们来看,模拟SDWebImage,我们还需要做哪些事情,

通知

我们先回忆一下啊,最终,我们要做的事情是,给UIImageView做一个分类,将来在Controller里边用的时候,Controller只要给UIImageView一个下载的地址,那它就帮我把图片下载并且显示出来了,我们最终的目标,是只需要它们两个,

通知

Controller里边,调用UIImageView的一个方法,就把图片给我显示出来了,

UIImageView,它是控件儿,它是不负责下载图片的,所以要想下载图片,我们得去找这么一个类,找这么一个下载的这么一个类,注意,我们找下载的类,找的不是我们刚刚写的这个下载操作的类,因为,刚刚写的这个下载操作的类,它只是下载图片,并没有去处理问题,比如图片重复下载的问题,并没有去做缓存,所以,我们在下载操作的这个类的基础上,在它之上,我们再来做一个类,这个类叫做“下载操作管理类”,

我们会给这个类起一个名字,叫做Manager,它负责什么呢,它负责全局的下载操作,真正下载的时候,是调用这个Manager,它去下载图片,并且它内部要去解决图片重复下载的问题,它内部要去解决图片缓存的问题,

并且,这个类将来要做成单例的形式,因为你要下载,OK,你只要找我就行了,这个人只用存在一次,这个管理者,这个经理,只用存在一次,

将来,它要去下载图片,它让谁去下载,它不去下载啊,它是管理者,它不去下载,它让谁下载,它让具体的下载操作类,就是刚刚我们写的那个DownloaderOperation,并且它管理的可不止是一个操作,下载一个图片,我创建一个Operation,下载两个图片,我创建两个Operation,这是这个Manager,它要去干什么,这就是我们模仿SDWebImage它的一个框架结构,

将来,我们写完之后,Controller,要去使用UIImageView,UIImageView要去调用下载操作管理类,下载操作管理类要去创建Operation,创建下载操作,去下载图片,

通知

到这儿,画的这条圈,还没有问题,最下面这条线是干什么,它里边是下载图片的,当图片下载完成之后,要干什么,回到主线程更新UI,就是调用回调的block,最终是由它里边去调用回调的block,这是整个我们所需要的类,

我们下载操作类写完了,后边该写下载操作管理类了,它里边得创建一个单例的方法,

2.下载操作管理类

在MyWebImage分组中,创建一个类,这个类要继承NSObject,叫做HMDownloaderOperationManager类,一般管理者要管理谁呢,先把要管理的这个人的名字写上来,后边加一个Manager,

通知

http://www.dtcms.com/a/112636.html

相关文章:

  • 如何排查、定位 SQL 慢查询及其优化策略
  • 16进制在蓝牙传输中的应用
  • 检查 Python 中的可迭代对象是否相等
  • Bethune X 6发布:为小规模数据库环境打造轻量化智能监控巡检利器
  • 字符串-JS
  • 基于 Hough 变换的直线检测2025.4.1
  • 大数据笔试题_第一阶段配套笔试题01
  • 浅谈AI落地 - 文章推荐 - 混合推荐模型
  • 【CF】Day24——Codeforces Round 994 (Div. 2) D
  • 常用性能指标(metrics)
  • 理解OSPF 特殊区域Stub和各类LSA特点
  • leetcode-链表+动规
  • idea如何让打开的文件名tab多行显示
  • Android studio进阶教程之(二)--如何导入高德地图
  • 超便捷语音转文字工具CapsWriter-Offline本地部署与远程使用全流程
  • 如何快速入门物联网单片机开发?
  • windows如何安装wkhtmltoimage 给PHP使用根据HTML生成图片
  • Mysql 中的 binlog、redolog、undolog
  • LayaAir3.3.0-beta.3重磅更新!Spine4.2、2D物理、UI系统、TileMap等全面升级!
  • 青少年编程与数学 02-015 大学数学知识点 09课题、专业相关性分析
  • 洛谷题单3-P5724 【深基4.习5】求极差 最大跨度值 最大值和最小值的差-python-流程图重构
  • css 文字换行每一个字渐变
  • go游戏后端开发25:红中麻将规则介绍
  • Modbus RTU与TCP通信示例
  • Docker 镜像相关的基本操作
  • CCF-CSP认证练习题-第19次-线性分类器
  • 分布式锁算法——基于ZooKeeper的分布式锁全面解析
  • 质检LIMS系统在水产养殖企业的应用 水产养殖企业的现状
  • Jmeter脚本录制
  • 软件工程(应试版)图形工具总结(一)