我有以下代码,每次用户点击特定按钮时都会运行1分钟。
timer = [[NSTimer alloc]init];
timer=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
我的问题是如果应用程序处于后台模式以便计时器仍在继续工作,如何保持运行?
提前致谢!
答案 0 :(得分: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];
答案 1 :(得分:0)
你不应该alloc
&amp; init
你的计时器。
NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:60.0
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:YES];
您也可以随时随地停止。
[myTimer invalidate];