0

我想使用 NSTimer 重复触发一个方法。但是该方法只触发一次。这是我的代码

- (void)viewDidLoad
{

[super viewDidLoad];   
NSDate *fireDate = [NSDate dateWithTimeIntervalSinceNow:14.0];
NSTimer *timer = [[NSTimer alloc] initWithFireDate:fireDate
                                              interval:2
                                                target:self
                                              selector:@selector(xuanZhuan:)
                                              userInfo:nil
                                               repeats:YES];

NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop addTimer:timer forMode:NSDefaultRunLoopMode];     
}


-(void)xuanZhuan:(NSTimer*)theTimer
{
    ...
}

宣专薄荷只开一次,不重复。为什么?如何解决?

更新: 我很抱歉。计时器工作正常,问题出在玄转方法上。我现在没有问题了。

4

3 回答 3

1

尝试:

 [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(xuanZhuan:) userInfo:nil repeats:YES];

而不是上面的代码。

于 2013-03-08T05:01:38.027 回答
0

在 .h 文件中

NSTimer *timer;

在 .m 文件中

timer =[NSTimer scheduledTimerWithTimeInterval:14.0 target:self selector:@selector(xuanZhuan) userInfo:nil repeats:YES];

这将xuanZhuan在每 14 秒后调用一次您的方法。

于 2013-03-08T05:02:22.673 回答
0

像这样使用计时器:

timer=[NSTimer scheduledTimerWithTimeInterval:14 target:self selector:@selector(xuanZhuan) userInfo:Nil repeats:YES];

这将在每 14 秒后触发该方法。

于 2013-03-08T05:02:47.510 回答