iOS——NSTimer的使用,计时器的简单创建

时间:2022-05-09 20:33:42

NSTimer用到的地方很多,这里仅以计时器作为例子,里面的代码可以应用在很多程序中。

以下是全部的源码。

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic, strong) NSTimer *timer;

@property (weak, nonatomic) IBOutlet UILabel *timerLabel;

@property (nonatomic, assign) int count;

@end

@implementation ViewController

- (IBAction)startBtnClick:(id)sender { //开始</span>
if (self.timer) {
[self.timer invalidate];
self.timer = nil;
}
self.count = 0;
self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(repeatShowTime:) userInfo:@"admin" repeats:YES];
}

- (IBAction)stopBtnClick:(id)sender { //停止</span>
if (self.timer) {
[self.timer invalidate];
self.timer = nil;
}
self.count = 0;
self.timerLabel.text = @"00:00";
}

- (IBAction)pauseBtnClick:(id)sender { //暂停</span>
[self.timer setFireDate:[NSDate distantFuture]];
}

- (IBAction)continueClick:(id)sender { //继续</span>
[self.timer setFireDate:[NSDate date]];
}

- (void)viewDidLoad {
[super viewDidLoad];
}

- (void)repeatShowTime:(NSTimer *)tempTimer {

self.count++;

self.timerLabel.text = [NSString stringWithFormat:@"%02d:%02d",self.count/60,self.count%60];
}

- (void)dealloc { //销毁NSTimer</span>
if (self.timer) {
[self.timer invalidate];
self.timer = nil;
}
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}

@end

效果图如下:

iOS——NSTimer的使用,计时器的简单创建