swift - Want to understand a relation -


i beginner learning swift 3 in xcode 8 , building basic app called "eggtimer". code written below , don't understand how timerlabel.text linked timer didn't set connection between them.

next star //* can write } else { timer.invalidate() , labeltimer.text nicely stops decreasing, how can happen? selector in timer properties mean? sorry english , answers.

class viewcontroller: uiviewcontroller {     var timer = timer()     var time = 210      func decreasetimer() {         if time > 0 {             time -= 1             timerlabel.text = string(time)         } else { //*             timerlabel.text = string(time)         }     }      @iboutlet var timerlabel: uilabel!      @ibaction func timerstarter(_ sender: anyobject) {                 timer = timer.scheduledtimer(timeinterval: 1, target: self, selector: #selector(viewcontroller.processtimer), userinfo: nil, repeats: true)     } }      

lets start bottom: selector specifies method should called every 1 second (timeinterval parameter). in case should changed following:

timer = timer.scheduledtimer(timeinterval: 1, target: self, selector: #selector(viewcontroller.decreasetimer), userinfo: nil, repeats: true) 

as can see selector called decreasetimer, method specified in top.

the timer calls method every time updates. in method decrease time var , update text of timerlabel.

timer.invalidate() stopps timer when time reaches 0.

i hope clarifies questions.


Comments

Popular posts from this blog

python - How to insert QWidgets in the middle of a Layout? -

python - serve multiple gunicorn django instances under nginx ubuntu -

module - Prestashop displayPaymentReturn hook url -