如何根据按下的按钮设置NSTimer?

时间:2015-02-21 13:28:00

标签: ios nstimer

我有一个游戏,我设置了一个计时器。

-(void)setTimer{
self->mTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self   selector:@selector(buttonNotPushed) userInfo: nil repeats:NO];
}

-(void)resetTimer{
[self->mTimer invalidate];
self->mTimer = nil;
}

目前,当用户点击“播放”按钮时,计时器将为5秒。还有其他按钮,每次按下它我都会运行

- (IBAction)buttonPressed:(id)sender {

if ([condition]) {
[self resetTimer];
[self setTimer];
}
else ([self gameOver]);
}

我想创建一个练习/小孩模式,其中计时器为10秒。除了在另一个viewController上再次复制整个游戏并设置计时器之外,还有更短的方法吗?

1 个答案:

答案 0 :(得分:0)

不是在setTimer中使用显式5.0,而是创建一个整数属性并引用它。因此,请在interval

中创建@interface
@property (nonatomic) CGFloat interval;

然后根据需要将其设置为5.0或10.0。然后你的setTimer仅仅是:

- (void)setTimer {
    mTimer = [NSTimer scheduledTimerWithTimeInterval:self.interval target:self selector:@selector(buttonNotPushed) userInfo: nil repeats:NO];
}