-1

我有以下代码,每次用户单击特定按钮时都会运行 1 分钟。

timer = [[NSTimer alloc]init];
        timer=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
        [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

我的问题是,如果应用程序处于后台模式,如何保持它运行,以便计时器继续工作?

提前致谢!

4

2 回答 2

3
//NSTimer run in background.

NSTimer *myTimer;  <br>  
 [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];<br>
   myTimer = [NSTimer scheduledTimerWithTimeInterval:60.0
                                 target:self
                               selector:@selector(targetMethod:)
                               userInfo:nil
                                repeats:YES];<br>
[[NSRunLoop currentRunLoop] addTimer:myTimer forMode:NSRunLoopCommonModes];
于 2014-11-12T09:01:47.033 回答
0

你不应该allocinit你的计时器。

NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:60.0
                                 target:self
                               selector:@selector(targetMethod:)
                               userInfo:nil
                                repeats:YES];

你也可以在任何你想要的地方停止它。

[myTimer invalidate];
于 2013-01-27T17:57:33.447 回答