HKQuantityTypeIdentifier用string初始化

时间:2017-02-01 14:31:14

标签: ios swift health-kit

我正在尝试创建类似于以下的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"))

1 个答案:

答案 0 :(得分:4)

原始值错误,请检查

print(HKQuantityTypeIdentifier.bodyFatPercentage.rawValue)
// HKQuantityTypeIdentifierBodyFatPercentage

所以你必须写

let e = HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier(rawValue: "HKQuantityTypeIdentifierBodyFatPercentage"))

但为什么不呢

let c = HKObjectType.quantityType(forIdentifier: .bodyFatPercentage)