Я запускаю кучу элементов в фоновом режиме, используя dispatch_async, и иногда я хочу убить то, что у меня есть в очереди, - возможно ли это? Например, этот код запускается в представлении, а затем пользователь возвращает экран. Все эти запущенные действия продолжают работать независимо от обратной навигации. В идеале я хотел бы убить эти элементы:
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];
}
});
Если я создаю очередь и назову ее, а затем отпустите ее в dealloc вид, который вызывается, они продолжают работать.