一、下载操作缓存池 1.下面我们来看操作缓存池,我们先演示一下问题,看看为什么要加这么一个操作缓存池,什么是操作缓存池,不用管呢,我们先来看啊,首先有什么问题, 看这个问题之前,我这儿写一个touch,点击屏幕的时候调用, 额,不能点击屏幕啊,因为现在屏幕点不着,我要测试一个东西,我要输出一个我要测试的变量,touch不能在这儿用,为什么,cell把屏幕给盖上了,我们点的是什么,cell,所以,我们要测试的话,这块儿应该写,点击cell, - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ } 好,点击cell的时候,干什么呢, // 点击cell的时候,输出当前队列的操作数 NSLog(@“队列的操作数:%zd”,self.queue.operationCount); self.queue:这是队列,我所有的操作是不是放到这个队列里边来了,下载操作都放到这个队列里边来了, 输出下载操作数,看会有什么样的问题啊,运行,点击,现在操作数是多少, 队列的操作数:0,现在操作数是0吧,为什么是0,操作的特点,当操作完成之后,会从队列中移除,我们这个界面,每一张图片是不是都对应一个操作的,每一张图片都是通过操作来下载的,当这些操作完成之后,会把这个操作从队列中移除,好,再往下看啊, 我往上拽,点击cell,看看是多少个操作:6, 我往下拽,回去,再往上拽,点cell,看看是多少个操作:11 太快了,5秒钟就下载完了,我们给它改成10秒, 我模拟后几张图片,下载的速度特别慢,10秒钟才能下一张,运行,往上拽, 队列的操作数:6, 我往下拽,回去,再往上拽,回来,再点cell,操作数是多少, 队列的操作数