每种数据类型,每个源或每种数据类型的每个源的HKQueryAnchor?

时间:2015-12-22 16:57:14

标签: ios health-kit

我发现我需要在每个源的基础上查询HealthKit,以确保我收到给定类别中的用户的所有数据。我在文档中找不到任何解释HKQueryAnchor对象如何在查询不同来源方面工作的内容。特别是,我是否需要为每种数据类型的每个源保留一个锚点,或者每个数据类型只需一个锚点,还是每个源只是一个锚点?

同样,如何比较相同数据类型但不同数据源的锚点。有没有意义的比较?

我想留下我的书签'对于每种数据类型和来源,所以我没有收到Health Kit的重复项。

1 个答案:

答案 0 :(得分:0)

对于您执行的每个不同查询,应保留单独的锚点。如果查询的谓词或其样本类型不同,则查询是不同的。例如,从源A"查询"步骤和来自B"的步骤是不同的,因为他们的谓词不同。同样地,"从源A"燃烧的活跃能量。和来自源A"的步骤是不同的,因为它们的样本类型不同,您需要为每个样本存储单独的锚。

HealthKit源和锚之间没有特殊关系 - 谓词是描述查询的内容,无论您的谓词是按源,日期,值等进行过滤。

作为旁注:听起来您正在尝试为特定类型的每个样本源执行单独的锚定对象查询。我认为如果您只对样本类型的所有样本执行单个查询,然后根据其来源单独处理样本(通过查看每个source的{​​{1}}属性)会更简单。然后,您只需要为样本类型保留一个锚点。