Przenoszę mój kod ze zwykłego GCD do NSOperationQueue
, ponieważ potrzebuję niektórych funkcji. Wiele mojego kodu opiera się na dispatch_after, aby działać poprawnie. Czy jest jakiś sposób, aby zrobić coś podobnego z NSOperation
?dispatch_after equivalent w NSOperationQueue
To jest część mojego kodu, który należy przekonwertować na NSOperation
. Gdybyś mógł podać przykład konwersji za pomocą tego kodu, byłoby wspaniale.
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)];
}
});
Pozwoli to zachować operację czynny w kolejce, aw przypadku kolejce z ograniczoną liczbą aktywnego działania, że sen będzie posiadał inne dopuszczalne operacje z wykonanie. – Bogdan
Uzgodniono z @Bogdan. To nie jest dobre podejście. Nigdy nie należy blokować wątków kolejki operacji. – Randy