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
效果图如下: