每月心率数据

时间:2015-02-02 10:48:52

标签: ios ios8 health-kit hksamplequery

我正在使用我的应用中的Health Kit检索心率。但是我从Health Kit获得最新数据,我怎样才能每月获得数据?我的意思是每个月的最后一次阅读..我看到NSPredicate可以用来这样做,但我不知道如何做到这一点.. !!我是新手,请帮助。!!

这是我的访问心率的代码:

NSSortDescriptor *timeSortDescriptor = [[NSSortDescriptor alloc] initWithKey:HKSampleSortIdentifierEndDate ascending:NO];

HKSampleQuery *query = [[HKSampleQuery alloc] initWithSampleType:quantityType predicate:predicate limit:HKObjectQueryNoLimit sortDescriptors:@[timeSortDescriptor] resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error) {
        if (!results) {
            if (completion)
            {
                completion(nil, error);
            }

        return;
    }

    if (completion) {
        // If quantity isn't in the database, return nil in the completion block.
        HKQuantitySample *quantitySample = results.firstObject;
        HKQuantity *quantity = quantitySample.quantity;

        completion(quantity, error);
    }
}];

[self executeQuery:query];

谓词代码:

NSDate *startDate = [NSDate dateWithYear:[NSNumber numberWithInt:2015] month:[NSNumber numberWithInt:1] day:[NSNumber numberWithInt:1] hour:[NSNumber numberWithInt:00] minute:[NSNumber numberWithInt:00] seconds:[NSNumber numberWithInt:00]];

NSDate *endDate = [NSDate dateWithYear:[NSNumber numberWithInt:2015] month:[NSNumber numberWithInt:30] day:[NSNumber numberWithInt:1] hour:[NSNumber numberWithInt:00] minute:[NSNumber numberWithInt:00] seconds:[NSNumber numberWithInt:59]];

NSPredicate *explicitTimeInterval =
    [NSPredicate predicateWithFormat:@"%K >= %@ AND %K < %@",
         HKPredicateKeyPathEndDate, startDate,
         HKPredicateKeyPathStartDate, endDate];
        self.healthStore = [[HKHealthStore alloc]init];

提前致谢:)

0 个答案:

没有答案