以下是否会导致内存泄漏或者可以以某种方式将其更改为更好?随着 countDownTimer = nil 被移除
-(void)viewDidLoad{
countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selectorselector(loadNewTime userInfo:nil repeats:YES];
}
-(void)pauseTimer{
NSLog(@"Fired");
[countDownTimer invalidate];
//countDownTimer = nil <------ Causes crash when run
}
-(void)resumeTimer{
countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selectorselector(loadNewTime userInfo:nil repeats:YES];
}
Best Answer-推荐答案 strong>
可以使用 scheduleTimer 方法的 block 变体来避免保留循环。
只要确保将 self 捕获为 weak 变量即可。
关于ios - NSTimer 内存泄漏?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/7826394/
|