NSOperation
Posted baaingSheep
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSOperation相关的知识,希望对你有一定的参考价值。
创建队列
主队列
let queue = NSOperationQueue.mainQueue()
其他队列
let queue = NSOperationQueue() //2.创建NSBlockOperation对象 let operation = NSBlockOperation { () -> Void in NSLog("%@", NSThread.currentThread()) } //3.添加多个Block for i in 0..<5 { operation.addExecutionBlock { () -> Void in NSLog("第%ld次 - %@", i, NSThread.currentThread()) } } //4.队列添加任务 queue.addOperation(operation)
NSOperationQueue
有一个参数 maxConcurrentOperationCount
最大并发数,用来设置最多可以让多少个任务同时执行。当你把它设置为 1
的时候,就是串行了。
NSOperationQueue
还有一个添加任务的方法,- (void)addOperationWithBlock:(void (^)(void))block;
,这是不是和 GCD 差不多?这样就可以添加一个任务到队列中了,十分方便。
NSOperation
有一个非常实用的功能,那就是添加依赖。依赖之后就是在之前的任务做完再继续,但它们可能会在不同的线程(?)
以上是关于NSOperation的主要内容,如果未能解决你的问题,请参考以下文章
[iOS开发]NSOperation & NSOperationQueue
[iOS开发]NSOperation & NSOperationQueue
NSOperation completionBlock 被调用两次