xcode6 - Running Pace Calculator in Swift -


i'm complete newbie swift. have created running pace calculator experiment in playground , works perfectly, struggle figure out how connect ui.

things in particular struggle currently:

  • casting text string int label
  • does function calculation go in ibaction?

playground code

import uikit  func pacecalculator (minutes:double, seconds:double, distance:double) -> double{     return ((minutes*60) + seconds) / distance }  var paceinseconds = pacecalculator(28, 26, 10.1) var paceinminutes = paceinseconds / 60 var roundedminutes = double(floor(paceinminutes)) var decimalseconds = paceinminutes - roundedminutes var intpace = int(floor(roundedminutes)) var seconds = int(floor(decimalseconds * 60))  println("your average pace \(intpace):\(seconds)/km") 

incomplete swift code

import uikit  class viewcontroller: uiviewcontroller {      override func viewdidload() {         super.viewdidload()     }      override func didreceivememorywarning() {         super.didreceivememorywarning()     }      @ibaction func calculatepacebutton(sender: uibutton) {      }      @iboutlet weak var minutestextfield: uitextfield!     @iboutlet weak var distancetextfield: uitextfield!     @iboutlet weak var pacelabel: uilabel!  } 

storyboard

enter image description here

disclaimer: have no programming experience either. gentle on jargon , explanation.)

hope work :

you didn't added secondstextfield iboutlet please check too.

class viewcontroller: uiviewcontroller {      @iboutlet weak var minutestextfield: uitextfield!     @iboutlet weak var distancetextfield: uitextfield!     @iboutlet weak var pacelabel: uilabel!     @iboutlet weak var secondstextfield: uitextfield!     @ibaction func calculatepacebutton(sender: uibutton) {         var paceinseconds = pacecalculator((minutestextfield.text nsstring).doublevalue, seconds: (secondstextfield.text nsstring).doublevalue, distance: (distancetextfield.text nsstring).doublevalue)         var paceinminutes = paceinseconds / 60.0         var roundedminutes = double(floor(paceinminutes))         var decimalseconds = paceinminutes - roundedminutes         var intpace = int(floor(roundedminutes))         var seconds = int(floor(decimalseconds * 60))         pacelabel.text = "\(intpace)"     }      func pacecalculator (minutes:double, seconds:double, distance:double) -> double{         return ((minutes*60) + seconds) / distance     } } 

Comments