'attempt to convert incompatible units' HealthKit 统计查询错误 (swift)
'attempt to convert incompatible units' error on HealthKit Statistics query (swift)
我需要计算卡路里的累计总和,出现错误'NSInvalidArgumentException',原因:'Attempt to convert incompatible units: kcal, count'
在线:
let numberOfCalories = Int(sumQuantity.doubleValueForUnit(self.caloriesUnit))
我的单位被定义为:
let caloriesUnit = HKUnit.countUnit()
应该有所不同吗?我怎样才能return卡路里的数量?
我的函数是:
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
卡路里怎么样?
我需要计算卡路里的累计总和,出现错误'NSInvalidArgumentException',原因:'Attempt to convert incompatible units: kcal, count'
在线:
let numberOfCalories = Int(sumQuantity.doubleValueForUnit(self.caloriesUnit))
我的单位被定义为:
let caloriesUnit = HKUnit.countUnit()
应该有所不同吗?我怎样才能return卡路里的数量?
我的函数是:
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
卡路里怎么样?