 <p>You should call the <a href="https://developer.apple.com/reference/foundation/timer/1415405-invalidate" rel="nofollow">invalidate()</a> method:</p> <blockquote> <p>This method is the only way to remove a timer from an RunLoop object. The RunLoop object removes its strong reference to the timer, either just before the invalidate() method returns or at some later point.</p> <p>If it was configured with target and user info objects, the receiver removes its strong references to those objects as well.</p> </blockquote> <p>Somewhere in your code, you should implement:</p> <pre><code>timer.invalidate() </code></pre> <p>Hope this helped.</p>