ios - NSTimer 内存泄漏?
<p><p>以下是否会导致内存泄漏或者可以以某种方式将其更改为更好?随着 <code>countDownTimer = nil</code> 被移除</p>
<pre><code>-(void)viewDidLoad{
countDownTimer = ;
}
-(void)pauseTimer{
NSLog(@"Fired");
;
//countDownTimer = nil <------ Causes crash when run
}
-(void)resumeTimer{
countDownTimer = ;
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>可以使用 <code>scheduleTimer</code> 方法的 <code>block</code> 变体来避免保留循环。</p>
<pre class="lang-swift prettyprint-override"><code>var timer = Timer()
func startTimer() {
timer = Timer.scheduleTimer(withTimerInterval: 1.0, repeats: true, block: { (timer) in
self?.performUpdate(timer: timer)
})
}
func stopTimer() {
timer.invalidate()
}
</code></pre>
<p>只要确保将 <code>self</code> 捕获为 <code>weak</code> 变量即可。</p></p>
<p style="font-size: 20px;">关于ios - NSTimer 内存泄漏?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/7826394/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/7826394/
</a>
</p>
页:
[1]