title: Xcode Swift Stopwatch App
body: <p>I have a stopwatch app I'm making that currently shows the minutes, seconds and milliseconds on a UILabel.  It has a 'Start' button and a 'Stop' button.  The code is below.  How do I add hours to it? Also how do I make it continue where it was, when I stopped it?  Currently if I press start again, it resets and starts over.  I'll add a reset button later.</p>
  
  <pre><code>//Variables
  var startTime = NSTimeInterval()
  
  //Start Button
  @IBAction func start(sender: AnyObject) {
     let aSelector : Selector = “updateTime”
     timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)
     startTime = NSDate.timeIntervalSinceReferenceDate()
  }
  
  //Stop Button
  @IBAction func stop(sender: AnyObject) {
     timer.invalidate()
  }
  
  //Update Time Function
  func updateTime() {
  
     var currentTime = NSDate.timeIntervalSinceReferenceDate()
  
     //Find the difference between current time and start time.
  
     var elapsedTime: NSTimeInterval = currentTime - startTime
  
     //calculate the minutes in elapsed time.
  
     let minutes = UInt8(elapsedTime / 60.0)
  
     elapsedTime -= (NSTimeInterval(minutes) * 60)
  
     //calculate the seconds in elapsed time.
  
     let seconds = UInt8(elapsedTime)
  
     elapsedTime -= NSTimeInterval(seconds)
  
     //find out the fraction of milliseconds to be displayed.
  
     let fraction = UInt8(elapsedTime * 100)
  
     //add the leading zero for minutes, seconds and millseconds and store them as string constants
  
     let strMinutes = String(format: "%02d", minutes)
     let strSeconds = String(format: "%02d", seconds)
     let strFraction = String(format: "%02d", fraction)
  
     //concatenate minuets, seconds and milliseconds as assign it to the UILabel
  
     displayTimeLabel.text = “\(strMinutes):\(strSeconds):\(strFraction)”
  
  }
  </code></pre>