2016-10-12 7 views
0

)で、互換性のないユニットのエラーを変換しようとしました。' NSInvalidArgumentException 'というエラーが発生しました。 '行の 'HealthKit Statisticsクエリ(互換性のないユニットを変換しようとしました。

let caloriesUnit = HKUnit.countUnit() 

が、それは別の何かであるべき:

let numberOfCalories = Int(sumQuantity.doubleValueForUnit(self.caloriesUnit)) 

私のユニットは以下のように定義されていますか?どうすればカロリーの数を返すことができますか?

私の機能は次のとおりです。

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) 

} 

答えて

0

私のユニットのように定義されています:それは別の何かであるべき

let caloriesUnit = HKUnit.countUnit() 

?どうすればカロリーの数を返すことができますか?

カロリーにはcaloriesをどうやって使うのですか?

+0

同じエラーが発生します。それは私の知る限り、ラベルを変更するだけで、コードとの違いはありませんでした。私は 'カロリー= HKUnit.countUnit()'を試しました。運がない。ありがとうございます - 私は初心者ですので、おそらく私はあなたのヒントを誤解しましたか? –

+0

PS私はまた、 'class func calorie() - > Self'をページの先頭に追加しようとしました。しかし、それはうまくいかなかった。その宣言にどこに留意すべきですか? –

+0

@DimitriT、**あなたは何をしましたか?** let 'caloriesUnit = HKUnit.countUnit() 'を' caloriesUnit = HKUnit.calorieUnit() 'または' let caloriesUnit = HKUnit.kilocalorieUnit() 'に変更する必要があります。 – user28434

関連する問題