我无法在点击停止按钮时停止计时器,但是当我点击停止按钮时,它再次以较少的延迟发射。
这是我的ViewController.h文件:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
NSTimer *timer;
}
- (IBAction)startTimer:(id)sender;
- (IBAction)stopTimer:(id)sender;
@end
和ViewController.m文件:
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (IBAction)startTimer:(id)sender {
timer=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
}
-(void) timerFired{
NSLog(@"Timer Fired");
}
- (IBAction)stopTimer:(id)sender {
[timer invalidate];
}
@end
谢谢。
答案 0 :(得分:0)
添加:
- (IBAction)stopTimer:(id)sender {
[timer invalidate];
timer = nil;
}
答案 1 :(得分:0)
检查实际上是否正在调用stopTimer
。从您的描述中可以看出,您已将两个按钮连接到startTimer
。
最好在停止时将计时器设置为nil
,然后您可以检查startTimer
以查看计时器是否已在运行。