Я пытаюсь перечислить все данные моих тренировок по плаванию и отображать на консоли значение HKMetadataKeySwimmingLocationType.
переопределить func viewDidLoad () {super.viewDidLoad ()
// print on console all the "root" objects
print ("//////////-------- NEW WORKOUT --------/////////")
if let startWorkout = workout?.startDate {
print("Start Date: \(startWorkout.description(with: Locale.current))")
}
if let endWorkout = workout?.endDate {
print("End Date: \(endWorkout.description(with: Locale.current))")
}
if let totalEnergyBurned = workout?.totalEnergyBurned {
print("Total Energy Burned: \(totalEnergyBurned.doubleValue(for: HKUnit.kilocalorie())) kcal")
}
if let totalDistance = workout?.totalDistance{
print("Total Distance: \(totalDistance.doubleValue(for: HKUnit.meter())) m")
}
if let totalDuration = workout?.duration {
print("Total duration: \(formatTI(duration: totalDuration))")
}
if let totalStrokeCount = workout?.totalSwimmingStrokeCount
{
print("Total Stroke Count: \(totalStrokeCount.doubleValue(for: HKUnit.count())) strokes")
}
if let metadatasWorkout = workout?.metadata{
for (key,value) in metadatasWorkout {
switch key {
case HKMetadataKeyLapLength:
print ("\(key.description) : \(value)")
case HKMetadataKeyIndoorWorkout:
print ("\(key.description) : \(value)")
case HKMetadataKeySwimmingLocationType:
switch value {
case HKWorkoutSwimmingLocationType.pool:
print ("\(key.description) : POOL")
case HKWorkoutSwimmingLocationType.openWater:
print ("\(key.description) : OPENWATER")
case HKWorkoutSwimmingLocationType.unknown:
print ("\(key.description) : UNKNOWN")
default:
print ("\(key.description) : OTHER")
print ("\(key.description) : \(value)")
}
case HKMetadataKeySwimmingStrokeStyle:
print ("\(key.description) : \(value)")
default:
print ("Default!! \(key.description) : \(value)")
}
}
}
со следующим выводом:
HealthKit успешно авторизован.////////// -------- НОВАЯ ТРЕНИРОВКА -------- ///////// Дата начала: понедельник, 1 октября 2018 года в 19:12:28 Центральноевропейское летнее время. Дата окончания: понедельник, 1 октября 2018 года в 19:26:03. Центральноевропейское летнее время. Общая сожженная энергия: 112.20791988510304 ккал. Общее расстояние: 550,0 м. Общая продолжительность: 13 м. Общее число ходов: 250,0 ударов.
Мой вопрос:
Поскольку значение HKWorkoutSwimmingLocationType равно 1, почему система не выполнила следующие строки?
case HKWorkoutSwimmingLocationType.pool: print ("(ключ.description): POOL ")
В документации Apple значение HKWorkoutSwimmingLocationType.pool равно 1 ...