NSOperation
2018-05-02 本文已影响0人
Nomo_C
iOS多线程:『NSOperation、NSOperationQueue』详尽总结
NSOperation是基于 GCD 更高一层的封装,完全面向对象。但是比 GCD 更简单易用、代码可读性也更高。
NSOperation可以直接使用NSBlockOperation和NSInvovationOpeartion来封装自己的操作。此外也可以通过自定义NSOperation来封装自己的操作。
NSOperationQueue通过maxConcurrentOperationCount属性控制并发量,当为1时为串行执行。默认值为-1,不设限制,根据系统环境控制并发量。
对于NSOperation的介绍和使用可以看这篇文章iOS多线程:『NSOperation、NSOperationQueue』详尽总结,介绍的非常详细。
自定义NSOperation
自定义NSOperation分为两种,并行和串行。
串行的NSOperation只需要重写main方法即可。
并行的NSOperation首先需要重写isAsynchronous返回YES,表示改Operation为并行。重写start方法,一般不需要重写main 方法。还需要手动发送 isExecuteing、isFinished、isCancelled这些属性的KVO消息。
对于自定义NSOperation这篇文章写的很详细:iOS多线程:『NSOperation、NSOperationQueue』详尽总结