在日常的开发中,定时器的使用是不可或缺的,在iOS中主要使用NSTimer,CADisplayLink以及dispatch_source_t来实现定时器,那么我们该如何以正确的姿态来使用我们的定时器呢?
NSTimer, CADisplayLink
问题:定时器无法释放
在导航控制器中创建定时器,每秒执行一次.
@interface ViewController ()
@property (nonatomic, strong) CADisplayLink *link;
@property (nonatomic, strong) NSTimer *timer;
@property (nonatomic, strong) dispatch_source_t dispatchTimer;
@end
- (void)viewDidLoad {
[super viewDidLoad];
// NSTimer
self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction) userInfo:nil repeats:YES];
// CADisplayLink
self.link = [CADisplayLink displayLinkWithTarget:self selector:@selector(displayAction)];
[self.link addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
}
- (void)timerAction{
NSLog(&#