0

在“-applicationDidEnterBackground”方法中的 beginBackgroundTaskWithExpirationHandler 代码块中,我将 nstimer 实现如下:

UIBackgroundTaskIdentifier taskId = [application beginBackgroundTaskWithExpirationHandler:^{
        timer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(print:) userInfo:nil repeats:NO];
    }]; 

尽管它repeats:NO的“打印”方法作为选择器被调用了两次,但我可以看穿NSLog

除了 in 之外,没有从其他任何地方调用此计时器applicationDidEnterBackground

4

1 回答 1

1

我向你保证,没有任何问题:

timer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(print:) userInfo:nil repeats:NO];

您的“打印”方法不会被调用两次。你的问题是别的东西。还有一件事,时间间隔为 0.0 的计时器是毫无意义的,你不同意吗?

于 2012-06-20T10:59:28.403 回答