原文地址:Health Kit教程(二)
引言
继续Health Kit的教程,上篇文章Health Kit教程(一)中介绍了关于Health Kit的基础用法。而这篇文章的基础就是建立在上篇文章的基础上,如果对于Health Kit的基础还不是很熟悉的童鞋可以阅读上篇文章来学一些基础的Health Kit的基础用法,然后再来看这篇文章。这篇文章主要是针对在一次运动中的一系列数据进行处理的方法。我们都知道,在一次运动中不可能只是一个数据的变化,有可能有多个数据的变化。就用跑步来说,跑步过程中除了心率变化外,还有一些列的其他数据变化如距离、卡路里消耗等等。所以对于一次运动过程中则需要对于多个数据进行处理。
本片文章是在Xcode 7.1 / Swift 2.0的基础上进行开发的。
处理运动
保存体能训练
在一次运动中,我们需要对多种数据进行处理,而如果为每个数据都单独进行处理的话,没办法看出各个数据之间的关系。而Health Kit针对这点则提出了一个概念为Workout(体能训练),即可以将多种数据的变化添加到一个Workout进行处理。就好像是一个购物清单一样,里面包含着各种数据指标的变化。同理,一个体能训练可以管理多种数据。
这里我们就举一个最简单的运动类型—-跑步,这篇文章就针对跑步进行讲解。假设在跑步过程中我们只考虑一下几个指标:距离、消耗时间以及消耗的卡路里。
那么开始上代码吧,先再工具类中添加一个方法用于保存体能训练的数据:
class func saveRunWorkout(startDate:NSDate , endDate:NSDate , distance:Double, distanceUnit:HKUnit , kiloCalories:Double,
completion: ( (Bool, NSError!) -> Void)!) {
// 1. 为距离和
let distanceQuantity = HKQuantity(unit: distanceUnit, doubleValue: distance)
let caloriesQuantity = HKQuantity(unit: HKUnit.kilocalorieUnit()