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

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
Post a Comment