如何从健康应用程序的 HKSample 中获取严重性值
Posted
技术标签:
【中文标题】如何从健康应用程序的 HKSample 中获取严重性值【英文标题】:How do I get the Severity value from a HKSample of the Health app 【发布时间】:2021-03-14 14:50:09 【问题描述】:我想显示来自 Health 应用的头痛数据。 从 HealtStore 我得到一组 [HKSamles]。 如何获取 HKCategoryValueSeverity?
我可以从每个样本中获取 startDate、endDate 等。
sampleType 是 HKCategoryTypeIdentifierHeadache。 目前我使用 HKSample 的 debugDescription 的第一个字符作为 HKCategoryValueSeverity.rawValue 的数字
我有一个 HealthKit HKSample 的 debugDescription。 所以在下面的描述中,严重性 rawValue 是 4 -> .severe
4 1F6AED01-EB6A-4ADE-94C0-64F3F8B018BB " HKCategoryTypeIdentifierHeadache" (1), "iPhone13,3" (14.4) (2021-03-13 22:18:57 +0100 - 2021-03-13 22:28:57 +0100)
【问题讨论】:
简单!让严重性 = item.value(forKey: "value") as!诠释 【参考方案1】:您获得查询的样本是具有属性值的 HKCategorySample 类型。见
https://developer.apple.com/documentation/healthkit/hkcategorysample?language=objc
对于头痛,与其他症状类型一样,value 是 HKCategoryValueSeverity 类型的枚举
https://developer.apple.com/documentation/healthkit/hkcategorytypeidentifierheadache?language=objc https://developer.apple.com/documentation/healthkit/hkcategoryvalueseverity?language=objc
您可以将值与可能的枚举列表进行比较以获得严重性。
【讨论】:
感谢您的回复。我的问题是:我在 Apple 文档中找不到 value(forKey: "value") 的 Key 来获取 Severity。通过反复试验找到了它:let severity = item.value(forKey: "value") as! Int
它返回了我正在寻找的值。以上是关于如何从健康应用程序的 HKSample 中获取严重性值的主要内容,如果未能解决你的问题,请参考以下文章
将 HKSample 与另一个 HKSample 进行比较以防止重复
如何从 Apple Watch 获取实时健康更新,与健康工具包同步并将其发送到服务器?
AWS Elastic Beanstalk - CodePipeline 部署不工作 - 健康状况 - 严重