Извлечение данных HKWorkout с использованием UUID - PullRequest
0 голосов
/ 21 апреля 2020

Мне интересно, можно ли мне получить отдельные образцы HKWorkout, используя UUID отдельного HKWorkout. Я получаю сообщение об ошибке при попытке использовать предикат для сравнения тренировок uuid. Есть идеи?

func saveWorkout(workoutToSave: HKSample){
    let workoutPredicate = HKQuery.predicateForWorkouts(with: .running)
    let idPredicate = NSPredicate(format: "uuid == %@", workoutToSave.uuid.uuidString) //Gives error on runtime
let compoundPredicate = NSCompoundPredicate(andPredicateWithSubpredicates: [workoutPredicate, idPredicate])
    let sampleQuery = HKSampleQuery(sampleType: HKWorkoutType.workoutType(), predicate: compoundPredicate, limit: 1, sortDescriptors: nil) { (sampleQuery, samplesFound, error) in
        if samplesFound != nil{
            print("Printing workout samples")
            print(samplesFound)
        }
    }
    database.healthStore.execute(sampleQuery)


}

1 Ответ

0 голосов
/ 24 апреля 2020

Я понял это. Все, что вам нужно сделать, это создать специальный предикат HKQuery.

let predicate = HKQuery.predicateForObject(with: UUID)
...