【多线程-第三天-NSOperation的练习-tableView异步下载网络图片-内存缓存图片 Objective-C语言】

一、复习上午的内容

通知

1.上午,我们讲了这些内容,接下来,我们继续做这个案例,异步下载网络图片,

做它的话,上午我们最后一节课,做了这么一件事情,上午我们做的还不是很麻烦,下午的话,我们就去了解一下就行了,了解一下,我们做这件事情的话,会遇到什么问题,以及是怎么去解决的,看我们做的过程,就OK了,

我们回忆一下,上午的时候,我们做这件事情,都解决了哪些问题,或者说我们的步骤是什么,我们把步骤写一下吧,

// 8 异步下载网络图片

// 8.1 模型类

我们先写了一个模型类,在模型类中去加载plist,跟以前不一样的是,我把加载plist、以及字典转模型这件事情,写到了模型类里边,我们把一个类,比做是公司中的人,公司中的每个人去做不同的事情,不能让所有的事情都交给老板去完成,我们雇这么多人的目的,就是相应的做、完成不同的事情的,所以我们创建一个类,每一个类,各司其职,分别做自己相应的事情,每一个类中不要写太多的代码,

如果一个类中,代码太多了,会有什么样的问题,假设Controller中,2000行代码,不容易维护,将来出问题了,找错误的那段儿代码,都不方便去找,所以,我们不要把所有的代码都写到一个类中来,一个类中的代码不适合写太多,这是我们的第一步啊,我们写了一个模型类,面向对象的三大特点是什么,封装、继承、多态,我们总说封装很简单,但是我们真正用的时候,却总是想不起来封装,把代码要封装一下,

// 8.1 模型类 把加载plist和字典转模型 封装

通知

// 8.2 数据源的方法 name和download

通知

// 8.3 同步下载图片 ----- 卡顿

通知

// 8.4 异步下载图片 ------ 图片看不到

通知

为什么图片不显示,因为cell内部的控件是懒加载的,这是第一,

还有就是,当cell返回之前,会调用cell的layoutSubviews,布局子控件,但是cell返回之前,我们这个imageView,是不是没创建好呢,没创建好呢,所以就没有去设置它的大小和位置,这是图片看不到的原因,有两个:

1)cell内部的子控件是懒加载

2)cell返回之前会调用cell的layoutSubviews,cell返回之前,cell的imageView还没有创建好,图片还没有下载完成,没有设置cell的imageView的大小和位置

然后,我们怎么解决的,使用占位图片,

// 8.4 异步下载网络图片 ----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风清晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值