我希望找到一种重新排序NSOperationQueue的方法。
我可以取消所有操作并按照想要的顺序重新加入它们,但我希望有一种更简洁的方式。 有什么想法吗?
我希望找到一种重新排序NSOperationQueue的方法。
我可以取消所有操作并按照想要的顺序重新加入它们,但我希望有一种更简洁的方式。 有什么想法吗?
NSOperationQueue
和底层的GCD队列之间的主要区别在于NSOperation
支持操作之间的依赖关系。NSOperationQueue
不会安排一个操作,直到它所有的依赖操作都已完成。从可用的操作中,选择最高优先级的操作来运行。
由于操作队列可能同时运行多个操作(根据maxConcurrentOperations
),因此队列上没有严格的顺序感。您最好使用依赖关系API或更改操作优先级。
我相信您可以在将操作添加到队列后更改依赖关系和优先级。
队列中没有重新排序操作的能力。如果您需要表达一个操作必须在另一个操作之后执行,请使用依赖关系API。
有关更多信息,请参见NSOperationQueue文档。概述的前两段讨论了依赖关系。