@@ -117,24 +117,36 @@ class ActivityViewController: UIViewController, UITableViewDelegate, UITableView
117117 let energy = workout. totalEnergyBurned? . doubleValue ( for: HKUnit . largeCalorie ( ) )
118118 let energyString = energyFormatter. string ( fromValue: energy!, unit: . calorie)
119119
120- let distance = Measurement ( value: ( workout. totalDistance? . doubleValue ( for: HKUnit . mile ( ) ) ) !, unit: UnitLength . miles)
121- let distanceFormatter = MeasurementFormatter ( )
122- distanceFormatter. unitStyle = . medium
123- distanceFormatter. numberFormatter. maximumFractionDigits = 1
124- distanceFormatter. numberFormatter. minimumFractionDigits = 1
125- let distanceString = distanceFormatter. string ( from: distance)
126-
127-
128120 let cell = tableView. dequeueReusableCell ( withIdentifier: " cellIDwalking " ) ! as! CustomTableViewCell
129- cell. energyLabel. text = energyString
130121 cell. durationLabel. text = durationString
131122 cell. timeLabel. text = timeString
132- cell. distanceLabel. text = distanceString
133123 cell. activityLabel. text = healthKitManager. workoutTypeIcon ( workout. workoutActivityType)
134124 // cell.activityImage.image = healthKitManager.workoutTypeImage(workout.workoutActivityType)
135125
126+ switch workout. workoutActivityType {
127+ case HKWorkoutActivityType . cycling:
128+ let distance = Measurement ( value: ( workout. totalDistance? . doubleValue ( for: HKUnit . mile ( ) ) ) !, unit: UnitLength . miles)
129+ let distanceFormatter = MeasurementFormatter ( )
130+ distanceFormatter. unitStyle = . medium
131+ distanceFormatter. numberFormatter. maximumFractionDigits = 1
132+ distanceFormatter. numberFormatter. minimumFractionDigits = 1
133+ let distanceString = distanceFormatter. string ( from: distance)
134+
135+ cell. energyLabel. text = energyString
136+ cell. distanceLabel. text = distanceString
136137
137- if ( workout. workoutActivityType == . running || workout. workoutActivityType == . walking) {
138+ case HKWorkoutActivityType . swimming:
139+ let distance = Measurement ( value: ( workout. totalDistance? . doubleValue ( for: HKUnit . mile ( ) ) ) !, unit: UnitLength . meters)
140+ let distanceFormatter = MeasurementFormatter ( )
141+ distanceFormatter. unitStyle = . medium
142+ distanceFormatter. numberFormatter. maximumFractionDigits = 0
143+ distanceFormatter. numberFormatter. minimumFractionDigits = 0
144+ let distanceString = distanceFormatter. string ( from: distance)
145+
146+ cell. energyLabel. text = energyString
147+ cell. distanceLabel. text = distanceString
148+
149+ case HKWorkoutActivityType . walking, HKWorkoutActivityType . running:
138150 healthKitManager. stepsBetween ( startDate: workout. startDate, endDate: workout. endDate, completion: { ( steps) in
139151 OperationQueue . main. addOperation {
140152 let stepFormatter = NumberFormatter ( )
@@ -143,9 +155,20 @@ class ActivityViewController: UIViewController, UITableViewDelegate, UITableView
143155 cell. energyLabel. text = stepFormatter. string ( from: steps! as NSNumber ) !
144156 }
145157 } )
158+
159+ let distance = Measurement ( value: ( workout. totalDistance? . doubleValue ( for: HKUnit . mile ( ) ) ) !, unit: UnitLength . miles)
160+ let distanceFormatter = MeasurementFormatter ( )
161+ distanceFormatter. unitStyle = . medium
162+ distanceFormatter. numberFormatter. maximumFractionDigits = 1
163+ distanceFormatter. numberFormatter. minimumFractionDigits = 1
164+ let distanceString = distanceFormatter. string ( from: distance)
165+
166+ cell. distanceLabel. text = distanceString
167+
168+ default :
169+ print ( NSURL ( fileURLWithPath: " \( #file) " ) . lastPathComponent!, " \( #function) unknown switch case " )
146170 }
147171
148-
149172 return cell
150173 }
151174
0 commit comments