0

如果下面的“延迟测试”被调用 N 次,我希望它最终也会调用 doIt N 次。然而事实并非如此,似乎日程表会覆盖任何以前的日程表,据说具有相同的选择器。无论如何围绕这个?

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

2 回答 2

0

尝试这个:

-(void)delayingTest
{
    if (_delay)
    {
        [self unschedule:@selector(delayingTest)];
        [self schedule:@selector(delayingTest) interval:1.0f];
    }
    else
    {
        [self doIt];
    }
}
于 2013-04-22T07:14:02.600 回答
0

一种方法是:不要使用 _delayint而是将其与时间戳绑定,将其存储并在NSDate下次调用您的方法时比较时间戳。

于 2013-04-22T06:14:46.657 回答