我在後臺使用dispatch_async運行一堆物品,有時候我想殺掉隊列中的物品 - 這可能嗎?例如,此代碼在視圖上運行,然後用戶返回一個屏幕。無論後退導航如何,所有這些已啓動的操作都會繼續運行。理想情況下,我想從運行殺死這些項目:在iOS的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的。