如何确定HKQuantitySample数量类型?
How to determine HKQuantitySample quantityType?
我正在尝试确定哪种 HKQuantityTypeIdentifier 与特定 Health Kit 示例中提供的测量值匹配。为了确定这一点,我尝试了以下方法:
if(hkSample.quantityType == HKQuantityTypeIdentifierDistanceCycling) ...
if([hkSample.quantityType isEqual: HKQuantityTypeIdentifierDistanceCycling]) ...
和
if([hkSample.quantityType isEqualToString: HKQuantityTypeIdentifierDistanceCycling]) ...
前两个选项 运行 但即使类型应该匹配也给出否定结果,最后一个选项给出 运行 次未知方法的 NSException 错误。确定哪种类型是 HKQuantitySample 类型的正确方法是什么?
quantityType
是 HKQuantityType,不是字符串,所以它不会响应 -isEqualToString:
。您需要通过 -isEqual:
将其与另一个 HKQuantityType 进行比较,如下所示:
if ([hkSample.quantityType isEqual:[HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierDistanceCycling]])
我正在尝试确定哪种 HKQuantityTypeIdentifier 与特定 Health Kit 示例中提供的测量值匹配。为了确定这一点,我尝试了以下方法:
if(hkSample.quantityType == HKQuantityTypeIdentifierDistanceCycling) ...
if([hkSample.quantityType isEqual: HKQuantityTypeIdentifierDistanceCycling]) ...
和
if([hkSample.quantityType isEqualToString: HKQuantityTypeIdentifierDistanceCycling]) ...
前两个选项 运行 但即使类型应该匹配也给出否定结果,最后一个选项给出 运行 次未知方法的 NSException 错误。确定哪种类型是 HKQuantitySample 类型的正确方法是什么?
quantityType
是 HKQuantityType,不是字符串,所以它不会响应 -isEqualToString:
。您需要通过 -isEqual:
将其与另一个 HKQuantityType 进行比较,如下所示:
if ([hkSample.quantityType isEqual:[HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierDistanceCycling]])