首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HKHealthStore中获取最新的BMI值

从HKHealthStore中获取最新的BMI值
EN

Stack Overflow用户
提问于 2014-10-13 20:12:04
回答 1查看 423关注 0票数 1

我想让用户从我的HKHealthStore实例中获得最新的BMI数据。到目前为止,我是这样做的,但这似乎不对。是否有一种方法可以得到BMI的实际数值,而不是countUnit (HKUnit)?

代码语言:javascript
复制
HKQuantityType *bodyMassIndexType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierBodyMassIndex];

    HKSampleQuery *bmiSampleQuery = [[HKSampleQuery alloc] initWithSampleType:bodyMassIndexType predicate:nil limit:1 sortDescriptors:nil resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error) {

        if (results.count == 0)
        {
            //No results
        }
        else
        {
            if (!error)
            {
                NSString *bmiString = [NSString stringWithFormat:@"%@", [[results firstObject] quantity]];
                NSString *parsedBMIString = [bmiString stringByReplacingOccurrencesOfString:@" count" withString:@""];
                NSLog(@"%f", [parsedBMIString floatValue]);
            }
        }
    }];

    [self.store executeQuery:bmiSampleQuery];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-22 01:41:33

该示例返回一个数组,因此您只需从数组中提取第一个对象,然后将其值转换为double进行处理。

代码语言:javascript
复制
HKQuantitySample *sample = [results firstObject];
int i = [sample.quantity doubleValueForUnit:[HKUnit countUnit]];
NSLog(@"%i",i);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26348128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档