美文网首页iOS开发中的神兵利器
4.2 通过BlockOperation实现线程的队列 [iOS

4.2 通过BlockOperation实现线程的队列 [iOS

作者: 互动教程网 | 来源:发表于2018-04-11 21:24 被阅读2次

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

27. 模拟器启动后,从网络上依次下载了两张图片,并逐个显示在两个图像视图中。最后点击此处的[停止]按钮,关闭模拟器,并结束本节课程。

image

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

apps8 2.png

相关文章

  • 4.2 通过BlockOperation实现线程的队列 [iOS

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

  • iOS通过BlockOperation实现线程的队列

    问题: 有表示没有调用makeSureOp这个请求,直接走了printOp就完事了???话说会吗?不应该呀。。。。...

  • NSOperation

    iOS多线程--彻底学会多线程之『NSOperation』 一. 基本用法 如果不创建BlockOperation...

  • iOS主线程和主队列的区别

    iOS主线程和主队列的区别 iOS主线程和主队列的区别

  • python多线程的使用

    python多线程的使用 后续还会更新其他方法实现的多线程。 Queue实现多线程 通过队列实现多线程 启动一定数...

  • 关于dispatch_barrier_async和dispatc

    在iOS多线程中,我们可以用GCD的串行队列来实现同步锁的效果。通过在把任务添加到串行队列中来依次执行,达到同步的...

  • 线程池-参数篇:2.队列

    多线程环境中,通过队列可以很容易实现线程间数据共享,比如经典的“生产者”和“消费者”模型中,通过队列可以很便利地实...

  • GCD线程之间的通信

    通过线程的依赖关系实现线程同步: 组队列(dispatch_group_t) 阻塞任务(dispatch_barr...

  • 队列和线程

    [iOS多线程中,队列和执行的排列组合结果分析] 多线程中的队列有:串行队列,并发队列,全局队列,主队列。 执行的...

  • GCD

    GCD 队列与线程的关系 主队列和主线程 『ios』主线程 和 主队列的关系,绝对安全的UI操作,主线程中一定是主...

网友评论

    本文标题:4.2 通过BlockOperation实现线程的队列 [iOS

    本文链接:https://www.haomeiwen.com/subject/ngttkftx.html