我正在尝试创建类似于以下的HKObjectType,但是所有值都是nill。我通过字符串获取枚举值,因此我需要创建对象以获取身份验证。
let c = HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.init(rawValue: "bodyFatPercentage"))
let d = HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier(rawValue: "BodyFatPercentage"))
let e = HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier(rawValue: "bodyFatPercentage"))
答案 0 :(得分:4)
原始值错误,请检查
print(HKQuantityTypeIdentifier.bodyFatPercentage.rawValue)
// HKQuantityTypeIdentifierBodyFatPercentage
所以你必须写
let e = HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier(rawValue: "HKQuantityTypeIdentifierBodyFatPercentage"))
但为什么不呢
let c = HKObjectType.quantityType(forIdentifier: .bodyFatPercentage)