在'-applicationDidEnterBackground'方法中的beginBackgroundTaskWithExpirationHandler代码块中,我的nstimer实现如下:
UIBackgroundTaskIdentifier taskId = [application beginBackgroundTaskWithExpirationHandler:^{
timer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(print:) userInfo:nil repeats:NO];
}];
并且尽管它是repeats:NO
,'print'方法作为选择器被调用两次,我可以通过NSLog
看到。
除applicationDidEnterBackground
以外的任何地方都没有调用此计时器。
答案 0 :(得分:1)
我向你保证,没有任何问题:
timer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(print:) userInfo:nil repeats:NO];
你的“打印”方法不会被调用两次。你的问题与其他问题有关。 另一件事,一个0.0时间间隔的计时器是没有意义的你不同意吗?