如何根据按下的按钮设置 NSTimer?
How can I set a NSTimer based on what button is pressed?
我有一个可以设置计时器的游戏。
-(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 秒的 practice/kid 模式。除了在另一个 viewController 上再次复制整个游戏并设置计时器之外,还有更短的方法吗?
与其在 setTimer
中使用显式 5.0,不如创建一个整数 属性 并引用它。因此,在 @interface
中创建 interval
@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];
}
我有一个可以设置计时器的游戏。
-(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 秒的 practice/kid 模式。除了在另一个 viewController 上再次复制整个游戏并设置计时器之外,还有更短的方法吗?
与其在 setTimer
中使用显式 5.0,不如创建一个整数 属性 并引用它。因此,在 @interface
interval
@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];
}