相当于我正在将我的代码从常规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