Я пытаюсь запросить авторизацию для использования данных приложения Health.Получение типа выражения неоднозначно без дополнительного контекста
Я получаю следующее сообщение об ошибке:
FirstViewController.swift:44:9: Expression type '(typesToShare: _, readTypes: Set<HKSampleType>?, completion: (_, _) -> Void)' (aka '(typesToShare: _, readTypes: Optional<Set<HKSampleType>>, completion: (_, _) ->())') is ambiguous without more context
в 44: 9, где typesToShare: ноль
let healthStore: HKHealthStore? = {
if HKHealthStore.isHealthDataAvailable() {
return HKHealthStore()
} else {
return nil
}
}()
let dateOfBirthCharacteristic = HKCharacteristicType.characteristicTypeForIdentifier(
HKCharacteristicTypeIdentifierDateOfBirth)
let biologicalSexCharacteristic = HKCharacteristicType.characteristicTypeForIdentifier(
HKCharacteristicTypeIdentifierBiologicalSex)
let bloodTypeCharacteristic = HKCharacteristicType.characteristicTypeForIdentifier(
HKCharacteristicTypeIdentifierBloodType)
let dataTypesToRead: Set<HKSampleType>? = NSSet(objects:
dateOfBirthCharacteristic!, biologicalSexCharacteristic!, bloodTypeCharacteristic!) as? Set<HKSampleType>
let dataTypesToShare: Set<HKSampleType>? = NSSet() as? Set<HKSampleType>
// Making the request
let healthData = healthStore?.requestAuthorizationToShareTypes
(typesToShare: nil,
readTypes: dataTypesToRead,
completion: { (success, error) -> Void in
if success {
println("success")
} else {
println(error.description)
}
})
Я новичок прошивку и не использовал HealthKit раньше. Как я могу это исправить?
вы можете, чем вызвать эту функцию, как, authorizeHealthKit {(успеха: тип, ошибка: типа) в печати ("успех")} –
Спасибо за ответ Sourav! Я пробовал использовать nil и создавать типыToShare так же, как typesToRead, но я получаю ту же ошибку. –
Попробуйте закрыть, что бы определенно работать, функция не имеет типа возврата u не может использовать let healthdata, таким образом. –