所以我想知道将长期任务分解为NSOperations的最佳方法是什么。如果我有3个长时间运行的任务,最好有一个基本上像
这样的NSOperation子类Single NSOperation subclass
- (void)main {
// do long running task 1
// do long running task 2
// do long running task 3
// call back the delegate
}
或者让每个任务成为NSOperation的子类更好,然后将我的ViewController中的每个任务作为一个单独的工作单元进行管理?提前谢谢。
答案 0 :(得分:3)
取决于操作队列是串行(即最大并发操作1)还是并行,以及工作的性质是什么。如果队列是串行的,那么它确实无关紧要。如果队列是并行的,那么它取决于一系列因素:
(编辑)
此外,如果您不需要NSOperationQueue的高级功能(操作依赖性和优先级,KVO等等),请考虑使用调度队列。它们的重量显着减轻了。