从healthkit查询中排除自己的样本

时间:2014-11-16 16:58:40

标签: ios objective-c health-kit hksamplequery

我正在编写一个应用程序,其中包括从HealthKit读取重量样本 我也在写样本 我正在尝试阅读不属于我的最新样本:

NSPredicate* non_fdct = [NSCompoundPredicate notPredicateWithSubpredicate:[HKQuery predicateForObjectsFromSource:[HKSource defaultSource]]];
NSSortDescriptor *last = [[NSSortDescriptor alloc] initWithKey:HKSampleSortIdentifierEndDate ascending:NO];
HKSampleQuery* query = [[HKSampleQuery alloc] initWithSampleType:[HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMass] predicate:non_fdct limit:1 sortDescriptors:@[last] resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error) {  ... };

但如果他们是最新的样品,我会得到自己的样品 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

构建non_fdct谓词的方式并不完全正确。试试这个:

NSPredicate *non_fdct = [NSPredicate predicateFromString:@"%K != %@", HKPredicateKeyPathSource, [HKSource defaultSource]];