Invalidating a nstimer
Click this drop down box and go through the options until you see play, and then select Drag one of these items onto your storyboard from the object library. Once you have done that, head back to the attributed inspector and change the “System Item” to pause.
Just like we did with the “play” button: This is going to be our Swift Timer Pause Button: Finally, we are going to drag a UILabel onto the View Controller. I have positioned this in the center and also changed the size using the attributes inspector.
Storyboard, We are now going to link up these Swift Timer Elements.
Click the “Clear” button, then hold down Control button on your keyboard and drag to the View Controller like so: Go ahead and link up the rest of the buttons and the Label.
If you check Is Valid function C , it tells you This does not indicate that there is an active timer that this handle references, but rather that it once referenced a valid timer. This does not indicate that there is an active timer that this handle references, but rather that it once referenced a valid timer. But it is not and I get "true false" Active means the Handle has received a timer (same as your definition of valid) but not executed yet.
This method is the only way to remove a timer from an NSRun Loop object.
The NSRun Loop object removes its strong reference to the timer, either just before the invalidate method returns or at some later point.
Inside this function, we are going to tell swift that we want to get the value of Swift Counter, add one to the value and then update the label: Run the app and press the play button.
The swift timer should start counting up, by one every second. The NSTimer Class comes with a method called invalidate().