首页 > 代码库 > iOS 多线程学习笔记 —— NSOperation
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方法即可。
iOS 多线程学习笔记 —— NSOperation
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。