具有优先级\ heap的nsoperationqueue

时间:2013-09-10 11:24:04

标签: ios

我正在构建一个ios应用程序,我需要控制多个文件的下载(图像但不仅仅是)。我需要优先下载文件,这可能会随着用户与应用程序的交互而改变。

我有任何方法来设置在nsoperationqueue中存储操作的顺序。我正在寻找的是具有nsoperationqueue内置功能的堆数据结构。

实现这一目标的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

setQueueProperty中的NSOperation方法可以为您提供帮助。 来自Apple Docs:

  

设置在操作队列中使用时的操作优先级。   您应该仅根据需要使用优先级值来对亲属进行分类   非依赖性操作的优先级。优先级值不应该是   用于在不同操作之间实现依赖管理   对象。如果需要在操作之间建立依赖关系,请使用   改为使用addDependency:方法。

     

如果您尝试指定与其中一个不匹配的优先级值   定义的常量,此方法会自动调整您的值   指定NSOperationQueuePriorityNormal优先级,停止   在第一个有效的常数值。例如,如果您指定了   值-10,此方法将调整该值以匹配   NSOperationQueuePriorityVeryLow常量。同样,如果你指定了   +10,此方法将调整该值以匹配NSOperationQueuePriorityVeryHigh常量。

阅读more