Estoy buscando una forma de reordenar un NSOperationQueue.Reordenar NSOperationQueue
Podría cancelar todas las operaciones y volver a utilizarlas en el orden que desee, pero esperaba algo un poco más limpio. ¿Alguna idea?
Estoy buscando una forma de reordenar un NSOperationQueue.Reordenar NSOperationQueue
Podría cancelar todas las operaciones y volver a utilizarlas en el orden que desee, pero esperaba algo un poco más limpio. ¿Alguna idea?
La principal diferencia entre NSOperationQueue
y las colas GCD subyacentes es que NSOperation
s admite dependencias entre operaciones. NSOperationQueue
no programará una operación hasta que se hayan completado todas sus dependencias. De las operaciones disponibles, se elige la operación de mayor prioridad para que se ejecute a continuación.
Como la cola de operaciones puede ejecutar varias operaciones simultáneamente (de acuerdo con maxConcurrentOperations
), no hay un estricto sentido de orden en la cola. Sería mucho mejor utilizar la API de dependencias o cambiar las prioridades de operación.
Creo que puede cambiar las dependencias y las prioridades después de agregar una operación a la cola.
No hay posibilidad de volver a ordenar las operaciones en una cola. Si necesita expresar que una operación debe venir después de otra, use la API de dependencias para hacerlo.
Consulte la documentación de NSOperationQueue para obtener más información. Los dos primeros párrafos del resumen discuten las dependencias.
Prioridades, sí. Eso me acercará lo suficiente. ¡Gracias! – mousebird