私は迅速な質問hereを受け取り、この回答を受け取ったhereのうち、エラーを取り除いたが、今は新しいものを受け取っている。タイプ '(@エスケープ(ダブル) - >ボイド) - >()'および 'ダブル'のオペランドには、バイナリ演算子 '*'を適用できませんか?
Binary operator '*' cannot be applied to operands of type '(@escaping (Double) -> Void) ->()' and 'Double'
コードは今のようになります。
func readWeight(result: @escaping (Double) -> Void) {
let quantityType = HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bodyMass)
let weightQuery = HKSampleQuery(sampleType: quantityType!, predicate: nil, limit: 1, sortDescriptors: nil) {
query, results, error in
if (error != nil) {
print(error!)
result(0.0)
}
guard let results = results else {
print("No results of query")
result(0.0)
}
if (results.count == 0) {
print("Zero samples")
result(0.0)
}
guard let bodymass = results[0] as? HKQuantitySample else {
print("Type problem with weight")
result(0.0)
}
result(bodymass.quantity.doubleValue(for: HKUnit.pound()))
}
healthKitStore.execute(weightQuery)
}
と私はそれが好き掛けしてみたときに、私はこのエラーを取得しています:
self.readWeight * 0.67
感謝を!
Self.readWeightは何も返さない関数です。あなたはこれが何をすると思いますか? – Fogmeister
値を返すようですが、設定するためにprintステートメントを試してみます@Fogmeister – arodebaugh
@Fogmeisterうん、別のエラーが返ってきているようではありません。 '/Users/andrewrodebaugh/Desktop/Aqua/Aqua/ViewController.swift :67:13: 'ガード'ボディが倒れない、スコープを終了するために 'return'または 'throw'を使用することを検討する ' – arodebaugh