2013-04-22 5 views
0

Если ниже «delayingTest» называется N раз, я ожидаю, что он в конечном итоге вызовет doIt N раз. Однако это не так, кажется, что график перезаписывает любое предыдущее расписание, предположительно имеющее тот же селектор. Во всяком случае, вокруг этого?Расписание переписывания

-(void)delayingTest { 
    if (_delay) { 
     [self schedule:@selector(delayingTest) interval:1.0f repeat:0 delay:1.0f]; 
    } 
    else { 
     [self doIt]; 
    } 
} 

ответ

0

один путь будет: не использовать _delay, как int но связать его с отметкой времени хранения в NSDate и сравнивая метки времени, когда следующий раз, когда ваш метод вызывается.

0

Попробуйте:

-(void)delayingTest 
{ 
    if (_delay) 
    { 
     [self unschedule:@selector(delayingTest)]; 
     [self schedule:@selector(delayingTest) interval:1.0f]; 
    } 
    else 
    { 
     [self doIt]; 
    } 
} 
Смежные вопросы