将 HKSample 与另一个 HKSample 进行比较以防止重复

Posted

技术标签:

【中文标题】将 HKSample 与另一个 HKSample 进行比较以防止重复【英文标题】:Compare HKSample with another HKSample to prevent duplicates 【发布时间】:2017-05-25 15:30:01 【问题描述】:

[斯威夫特 3.0]

我正在尝试从 HealthKit 检索 HKSample 以将数据添加到我的应用程序,并且还想在 HealthKit 出现时更新应用程序。

我添加了一个HKObserverQuery,它可以工作。但是,它不会在添加 HKSample 之前检查我的应用程序中是否已经存在,并不断将示例添加到我的应用程序中。

如何检查具有相同属性的HKSample 是否已经存在?

【问题讨论】:

【参考方案1】:

HKSample 继承自 HKObject

所有HKObject 实例都有一个uuid 属性(在Swift 中)来唯一标识该对象。

因此,当您查询时,您需要将已有的内容与uuid 的新内容进行比较。在已有的东西中找不到的任何东西都是新的。

文档是here。

【讨论】:

以上是关于将 HKSample 与另一个 HKSample 进行比较以防止重复的主要内容,如果未能解决你的问题,请参考以下文章

如果用户不允许某些条目类型,HealthKit 无法编写具有多个条目的 HKSample

如果用户不允许某些条目类型,HealthKit 无法编写具有多个条目的 HKSample

为啥 HKSample 数组对于一个没有限制、没有谓词、没有锚点的 HKAnchoredObjectQuery 总是有 1 个值?

为啥 HKSample 数组对于一个没有限制、没有谓词、没有锚点的 HKAnchoredObjectQuery 总是有 1 个值?

如何从健康应用程序的 HKSample 中获取严重性值

Xamarin iOS 从 HealthKit 读取步数