我问了一个很快的问题here,并收到了这个答案here其中摆脱了错误,但现在我收到一个新的。二元运算符'*'不能应用于类型'(@escaping(Double) - > Void) - >()'和'Double'的操作数?
Binary operator '*' cannot be applied to operands of type '(@escaping (Double) -> Void) ->()' and 'Double'
代码现在看起来像:
self.readWeight * 0.67
感谢:
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是不返回任何内容的功能。你期望这个做什么? – Fogmeister
它似乎是返回值,但我会尝试一个打印语句来设置它@Fogmeister – arodebaugh
@Fogmeister是的,它似乎并没有返回任何只是得到另一个错误'/Users/andrewrodebaugh/Desktop/Aqua/Aqua/ViewController.swift :67:13:'警卫'身体可能不会跌倒,考虑使用'返回'或'抛出'退出范围' – arodebaugh