zoukankan      html  css  js  c++  java
  • iOS 多线程学习笔记 —— NSOperation

    本文复制、参考自文章:iOS多线程编程之NSOperation和NSOperationQueue的使用 ,主要为了加强个人对知识的理解和记忆,不做他用。原作者声明:

    著作权声明:本文由http://blog.csdn.net/totogo2010/原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

    这里对原作者的辛勤工作表示感谢!

    1. 使用抽象的 NSOperation 的方式有两种:

    (1)用库定义好的子类: NSInvocationOperation 和 NSBlockOperation。

    (2)自定义类,继承自NSOperation。和Java的Runnable一样,NSOperation也是设计用来扩展的,只需重写NSOperation的main方法,相当于Java中的Run方法。然后把NSOperation子类的对象放到NSOperationQueue队列中,该队列就会启用并开始处理它。

    2. 使用NSInvocationOperation的例子:异步加载图片

     (1) 在ViewController.m中添加多线程调用:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        NSInvocationOperation* operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(downloadImage:) object:kURL];
        NSOperationQueue* queue = [[NSOperationQueue alloc]init];
        [queue addOperation:operation];
    }

    其他与NSThread示例中的一致。

    3. 使用自定义类的例子

    将2.中的NSInvocationOperation类替换为自定义的NSOperation子类,在子类中的main方法中实现downloadImage方法即可。 

  • 相关阅读:
    原生JS---2
    PHP中include和require绝对路径、相对路径问题
    魔方(小玩具)
    html5技术介绍
    苹果电脑 快捷键
    写代码的心得,怎么减少编程中的 bug?
    http状态代码含义表
    开源项目
    蓝牙 CoreBluetooth
    减小iOS应用程序的大小
  • 原文地址:https://www.cnblogs.com/wenshanzh/p/4041466.html
Copyright © 2011-2022 走看看