Estoy ejecutando un montón de elementos en segundo plano utilizando dispatch_async y, a veces, quiero matar lo que tengo en la cola, ¿es posible? Por ejemplo, este código se ejecuta en una vista, y luego el usuario retrocede una pantalla. Todas estas acciones disparadas continúan ejecutándose independientemente de la navegación hacia atrás. Lo ideal sería que me gustaría matar a estos artículos de ejecución:matar elementos en una cola dispatch_async en iOS
dispatch_async(dispatch_get_global_queue(2, 0), ^{
for (int i=0; i<[self.manufacturers count]; i++) {
NSString *manufacturerID = [[[self.manufacturers objectAtIndex:i] ManufacturerID] stringValue];
[self doSync:manufacturerID withIndex:i setTimer:YES];
}
});
Si se crea una cola y el nombre y lo suelta sobre la dealloc de la vista de lo que se llama en la que todavía siguen funcionando.