本文复制、参考自文章:iOS多线程编程之NSOperation和NSOperationQueue的使用 ,主要为了增强我的对知识的理解和记忆,不作他用。原做者声明:编程
著做权声明:本文由http://blog.csdn.net/totogo2010/原创,欢迎转载分享。请尊重做者劳动,转载时保留该声明和做者博客连接,谢谢!多线程
这里对原做者的辛勤工做表示感谢!异步
(1)用库定义好的子类: NSInvocationOperation 和 NSBlockOperation。spa
(2)自定义类,继承自NSOperation。和Java的Runnable同样,NSOperation也是设计用来扩展的,只需重写NSOperation的main方法,至关于Java中的Run方法。而后把NSOperation子类的对象放到NSOperationQueue队列中,该队列就会启用并开始处理它。.net
(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示例中的一致。设计
将2.中的NSInvocationOperation类替换为自定义的NSOperation子类,在子类中的main方法中实现downloadImage方法便可。 code