我正在构建一个ios应用程序,我需要控制多个文件的下载(图像但不仅仅是)。我需要优先下载文件,这可能会随着用户与应用程序的交互而改变。
我有任何方法来设置在nsoperationqueue中存储操作的顺序。我正在寻找的是具有nsoperationqueue内置功能的堆数据结构。
实现这一目标的最佳方式是什么?
答案 0 :(得分:2)
setQueueProperty
中的NSOperation
方法可以为您提供帮助。
来自Apple Docs:
设置在操作队列中使用时的操作优先级。 您应该仅根据需要使用优先级值来对亲属进行分类 非依赖性操作的优先级。优先级值不应该是 用于在不同操作之间实现依赖管理 对象。如果需要在操作之间建立依赖关系,请使用 改为使用addDependency:方法。
如果您尝试指定与其中一个不匹配的优先级值 定义的常量,此方法会自动调整您的值 指定NSOperationQueuePriorityNormal优先级,停止 在第一个有效的常数值。例如,如果您指定了 值-10,此方法将调整该值以匹配 NSOperationQueuePriorityVeryLow常量。同样,如果你指定了 +10,此方法将调整该值以匹配NSOperationQueuePriorityVeryHigh常量。
阅读more