这个问题已经在这里有了答案:




8年前关闭。






在我的应用程序中,我有以下设置来使用 NSTimer 运行操作:

在他们之中。文件:

@implementation MYViewController {
      NSTimer *aTimer;
}

然后,当用户单击相关按钮时,我有:
- (IBAction)userClick:(id)sender {
     aTimer = [NSTimer timerWithTimeInterval:1.0
                                      target:self
                                    selector:@selector(doSomethingWithTimer:)
                                    userInfo:nil
                                     repeats:YES];
     //[aTimer fire]; //NSTimer was fired just once.
}

我也有:
-(void)doSomethingWithTimer:(NSTimer*)timer {
     NSLog(@"something to be done");
}

我希望领事每一秒都有一条线说“有事要做”。定时器甚至不会被调用一次。我已经尝试使用 [aTimer fire] 来触发 NSTimer,但它只触发了一次并且不会像我预期的那样重复。

谁能指导我如何解决这个问题?

最佳答案


- (NSTimer *)scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:

然后您不必手动将其添加到运行循环中。

关于ios - NSTimer 没有按预期重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14195921/

10-14 20:16