4.2 通过BlockOperation实现线程的队列 [iOS开发中的神兵利器]



1. 本节课将为您演示线程队列的使用,使用线程队列可以依次执行一系列的任务。首先在左侧的项目导航区,打开视图控制器的代码文件。


2. 现在开始编写代码,使用线程队列功能,依次下载网络上的两张图片。


3. 添加两个图像视图属性,用来显示下载的两张图片。


4. 接着初始化第一个图像视图,并设置它的显示区域,然后将该图像视图添加到根视图中。


5. 使用相同的方式,初始化第二个图像视图,该图像视图位于每个图像视图的下方。


6. 通过一个方法,获得一个阻塞操作对象,设置该对象的名称、图片网址以及是否为上方的图片。


7. 使用相同的方式,获得第二个阻塞操作对象。


8. 初始化一个操作队列对象。


9. 设置在队列中一次只执行一个任务。


10. 依次将两个阻塞操作对象添加到队列中。


11. 添加一个循环,用来遍历队列中的所有操作。


12. 在控制台依次输出两个阻塞操作对象的名称。


13. 添加一个方法,用来生成并返回阻塞操作对象。


14. 初始化一个阻塞操作对象。


15. 将图片的路径字符串,转换成网址对象。


16. 初始化一个二进制数据对象,用来存储从网络下载的图片的数据流。


17. 添加一个异常捕捉语句,执行图片的下载任务。


18. 首先使线程暂停1.0秒钟,以方便观察任务的执行。


19. 接着通过二进制数字对象的,从网址获取内容的方法,下载网络图片,并将下载的数据存储在二进制数据对象中。


20. 然后将数据转换成图像内容。


21. 判断需要使用哪个图像视图,来显示下载之后的图片内容。


22. 在主线程上使用位于上方的图像视图显示图片内容。


23. 接着使用位于下方的图像视图显示图片内容。


24. 然后设置阻塞操作对象的名称属性,并返回设置好的对象。


25. 添加一个方法,用来设置位于上方的图像视图的内容。


26. 添加另一个方法,用来设置位于下方的图像视图的内容。接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。




本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

0