HKStatisticsCollectionQuery为每个月的每周提取数据

时间:2015-07-24 15:43:09

标签: ios objective-c nscalendar health-kit

我试图创建一个图表,显示一个月的数据与过去一周按周分解的数据。

例如,今天查看图表会显示7月对6月,每个图表上会有5个点,其中包含以下日期:

6月:1-8,9-15,16-22,23-29,30 7月:1-8,9-15,16-22,23-29,30-31

谓词看起来像

NSPredicate *predicate = [HKQuery predicateForSamplesWithStartDate:self.pastStartDate endDate:self.currentEndDate options:HKQueryOptionStrictStartDate];

其中self.pastStartDate是上个月的第一个,self.currentEndDate是当月的最后一个。

然后我们像这样设置查询

HKStatisticsCollectionQuery *query = [[HKStatisticsCollectionQuery alloc] initWithQuantityType:quantityType quantitySamplePredicate:predicate options:HKStatisticsOptionDiscreteAverage anchorDate:self.pastStartDate intervalComponents:self.interval];

因此,对于这个月,设置了self.interval.day = 7,以便我们在每个时间间隔内提取一周的数据。问题是这个区间不是日历识别的,因此它不知道上个月的最终数据点应该只有1天,因此我们得到一些重叠。

我们也尝试了self.interval.weekOfMonth = 1但是,间隔时间不知道它在哪个月,所以这也不起作用。

是否有办法根据日历创建间隔,以便在给定的时间间隔内不包含超过月末的时间间隔?

0 个答案:

没有答案