swift - HealthKit 统计查询中的“尝试转换不兼容的单位”错误(swift)

标签 swift healthkit

我需要计算卡路里的累计总和,并收到错误“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/

相关文章:

ios - CLLocation 距离跟踪开始时不正确

ios - 如何将 SKSpriteNode 保存为 PNG 图像到相机胶卷?

swift - 许多不同的 ViewController 中的 Cell

ios - 使用 HKHeartbeatSeriesSample 从 Apple Watch 获取实时心跳数据

ios - 健康应用程序在一段时间后忽略步骤

ios - 如何从 HealthKit 数据中获取最新的 Weight 条目

ios - UIAlertController 的 UIAlertView show() 行为

swift - HKQuantity 翻倍 - 从 Healthkit 获得 active 能量值

ios - 在 iOS 的 Health Kit App 中显示月经详情

ios - (Swift) 将按钮移动到有异常(exception)的随机位置