相當於我正在將我的代碼從常規GCD移動到NSOperationQueue
,因爲我需要一些功能。我的很多代碼依賴dispatch_after才能正常工作。有沒有辦法與NSOperation
做類似的事情?dispatch_after NSOperationQueue
這是我的一些代碼,需要轉換爲NSOperation
。如果您可以提供一個使用此代碼轉換它的示例,那就太好了。
dispatch_queue_t queue = dispatch_queue_create("com.cue.MainFade", NULL);
dispatch_time_t mainPopTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(timeRun * NSEC_PER_SEC));
dispatch_after(mainPopTime, queue, ^(void){
if(dFade !=nil){
double incriment = ([dFade volume]/[self fadeOut])/10; //incriment per .1 seconds.
[self doDelayFadeOut:incriment with:dFade on:dispatch_queue_create("com.cue.MainFade", 0)];
}
});
這將保持運行活躍在隊列中,並在積極運作的有限數量的隊列的情況下,睡眠會持有其他合格操作執行。 – Bogdan 2016-10-24 12:55:11
同意@Bogdan。這不是一個好方法。你不應該阻塞操作隊列線程。 – Randy 2017-02-07 04:04:06