我需要计算卡路里的累计总和,并收到错误“NSInvalidArgumentException”,原因:“尝试转换不兼容的单位:千卡,计数”
在线:
let numberOfCalories = Int(sumQuantity.doubleValueForUnit(self.caloriesUnit))
我的单位被定义为:
let caloriesUnit = HKUnit.countUnit()
它应该是不同的东西吗?如何返回卡路里数?
我的职能是:
func queryCaloriesSum() {
let caloriesQuantityType = HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierActiveEnergyBurned) //else //{ return nil }
let sumOption = HKStatisticsOptions.CumulativeSum
let statisticsSumQuery = HKStatisticsQuery(quantityType: caloriesQuantityType!, quantitySamplePredicate: nil, options: sumOption) { [unowned self] (query, result, error) in
if let sumQuantity = result?.sumQuantity() {
// let headerView = self.tableView.dequeueReusableCellWithIdentifier(self.totalStepsCellIdentifier)! as UITableViewCell
let numberOfCalories = Int(sumQuantity.doubleValueForUnit(self.caloriesUnit))
print(numberOfCalories)
}
}
healthStore.executeQuery(statisticsSumQuery)
print(statisticsSumQuery)
}
最佳答案
My unit has been defined as:
let caloriesUnit = HKUnit.countUnit()
Should it be something different? How can I return the number of calories?
如何使用 calories
卡路里?
关于swift - HealthKit 统计查询中的“尝试转换不兼容的单位”错误(swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39995529/