HealthKit开发教程之HealthKit的辅助数据

HealthKit开发教程之HealthKit的辅助数据

在HealthKit中除了主要数据之外,还有6个辅助数据分别为:体积类型数据、压力类型数据、时间类型数据、温度类型数据、标量类型数据和电导率类型数据。本节将针对这6个辅助数据进行讲解。

HealthKit的体积类型数据

体积,或称容量、容积,几何学专业术语,是物件占有多少空间的量。体积单位可以用来测量物体的体积。由体积单位和值组成的数据就是体积类型的数据。体积单位可以分为:国际体积单位、英制体积单位和美制体积单位。

1.国际体积单位

体积的国际单位为“升”,符号为L。如果想要创建一个以“升”为单位的单位对象,需要使用到literUnit()方法,其语法形式如下:

class func literUnit() -> Self!

【示例2-30:HKUnit-literUnit】下面显示一桶可乐的容量,以“升”为单位。代码如下:

此时运行程序,会看到如下的效果。

一桶可乐的容量为:2.5 L

注意:“升”也是可以添加前缀的,此时需要使用到literUnitWithMetricPrefix(_:)方法,其语法形式如下:

class func literUnitWithMetricPrefix(_ prefix: HKMetricPrefix) -> Self!

其中,prefix用来指定一个有效的度量前缀值,这些值就是表2-1中的内容。

【示例2-31:HKUnit-literUnitWithMetricPrefix】下面显示一桶可乐的容量,以“千升”为单位。代码如下:

此时运行程序,会看到如下的效果。

一桶可乐的容量为:0.0025 kL

2.英制体积单位

英制体积单位有两种:一种是液体盎司;另一种是品脱。以下就是对这两个单位的具体介绍。

(1)液体盎司

液体盎司是一种液体的计量单位。1英制液体盎司等于28.41毫升。如果开发者想要创建以“英制液体盎司”为单位的单位对象,需要使用到fluidOunceImperialUnit()方法,其语法形式如下:

class func fluidOunceImperialUnit() -> Self!

(2)品脱

品脱是是容量的计量单位。1英制品脱等于20液体盎司。开发者要想创建以“英制品脱”为单位的单位对象,需要使用到pintImperialUnit()方法,其语法形式如下:

class func pintImperialUnit() -> Self!

【示例2-32:HKUnit-pintImperialUnit】下面显示一桶可乐的容量,以“英制液体盎司”和“英制品脱”为单位。代码如下:

此时运行程序,会看到如下的效果。其中,英制液体盎司被简写为fl_oz_imp;英制品脱被简写为pt_imp。

一桶可乐的容量为:88 fl_oz_imp一桶可乐的容量为:4.4 pt_imp

3.美制体积单位

与英制体积单位一样,美制体积单位也有两种::一种是液体盎司;另一种是品脱。以下就是对这两个单位的具体介绍。

(1)液体盎司

美制液体盎司一般使用在美国等地,一般1美制液体盎司等于29.571毫升。开发者想要创建以“美制液体盎司”为单位的单位对象,需要使用到fluidOunceUSUnit()方法,其语法形式如下:

class func fluidOunceUSUnit() -> Self!

(2)品脱

与美制液体盎司一样,美制品脱一般使用在美国等地。开发者想要创建以“美制品脱”为单位的单位对象,需要使用到pintUSUnit()方法,其语法形式如下:

class func pintUSUnit() -> Self!

【示例2-33:HKUnit-pintUSUnit】下面显示一桶可乐的容量,以“美制液体盎司”和“美制品脱”为单位。代码如下:

此时运行程序,会看到如下的效果。其中,美制液体盎司被简写为fl_oz_us;美制品脱被简写为pt_us。

一桶可乐的容量为:85 fl_oz_us一桶可乐的容量为:4.4 pt_usHealthKit的压力类型数据

压力在物理学方面指垂直作用在物体表面上的力。压力单位是用于计量压力的标准。压力单位和值就组成了压力类型的数据。压力单位用两种,一种是国际压力单位;另一种是非国际压力单位。以下将对这两种压力单位进行讲解。

1.国际压力单位

压力的国际单位为帕斯卡,可简称帕,符号Pa。开发者想要创建以“帕斯卡”为单位的单位对象需要使用到pascalUnit()方法,其语法形式如下:

class func pascalUnit() -> Self!

【示例2-34:HKUnit-pascalUnit】下面显示桌子所承受的压力,以“帕”为单位。代码如下:

此时运行程序,会看到如下的效果。

桌子所承受的压力为:500 Pa

注意:在“帕斯卡”的前面也可以添加前缀,使其形成“千帕”等。为“帕斯卡”添加前缀需要使用到pascalUnitWithMetricPrefix(_:),其语法形式如下:

class func pascalUnitWithMetricPrefix(_ prefix: HKMetricPrefix) -> Self!

其中,prefix用来指定一个有效的度量前缀值,这些值就是表2-1中的内容。

【示例2-35:HKUnit-pascalUnitWithMetricPrefix】下面显示桌子所承受的压力,以“千帕”为单位。代码如下:

此时运行程序,会看到如下的效果。

桌子所承受的压力为:0.5 kPa

2.非国际压力单位

除了国际单位外,压力中还有3个常使用到的单位分别为:毫米汞柱、厘米水柱、大气压强。这3个压力单位并非国际单位。以下是对这3个单位的详细讲解。

(1)毫米汞柱

毫米汞柱即毫米水银柱(mmHg),是直接用水银柱高度的毫米数表示压强、压力值的单位。如果想要在你的程序中创建一个以“毫米汞柱”为单位的单位对象,需要使用到millimeterOfMercuryUnit()方法,其语法形式如下:

class func millimeterOfMercuryUnit() -> Self!

(2)厘米水柱

厘米水柱是直接用水柱高度的厘米数表示压强、压力值的单位。如果想要在你的程序中创建一个以“厘米水柱”为单位的单位对象,需要使用到centimeterOfWaterUnit()方法,其语法形式如下:

class func centimeterOfWaterUnit() -> Self!

【示例2-36:HKUnit-centimeterOfWaterUnit】下面显示桌子所承受的压力,以“毫米汞柱”和“厘米水柱”为单位。代码如下:

此时运行程序,会看到如下的效果。其中,毫米汞柱被简写为mmHg;厘米水柱被简写为cmAq。

桌子所承受的压力为:5 mmHg桌子所承受的压力为:5 cmAq

(3)大气压强

“人”的结构就是相互支撑,“众”人的事业需要每个人的参与。

HealthKit开发教程之HealthKit的辅助数据

相关文章:

你感兴趣的文章:

标签云: