本文複製、參考自文章: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