HealthKit開發教程之HealthKit的複合資料
HealthKit開發教程之HealthKit的複合資料
複合資料就是複合單位和值構成的資料。所謂複合單位就是由單位進行乘法、除法等得到的單位,如m/s、lb·ft等就是複合單位。本節將針對這些複合資料進行講解。
HealthKit的相乘得到的複合資料
在物理學中我們可能接觸過類似lb·ft(扭矩單位,扭矩是使物體發生轉動的一種特殊的力矩。)這樣的單位。這種單位我們可以看做是兩個單位相乘得到的複合單位。開發者如果想要在自己的程式中使用這種複合單位,首先需要對這種單位進行建立。建立這種單位需要使用到unitMultipliedByUnit(_:)方法,其語法形式如下:
- func unitMultipliedByUnit(_ unit: HKUnit!) -> HKUnit!
其中,引數unit:用來指定被乘的單位。
【示例2-44:HKUnit-unitMultipliedByUnit】下面顯示汽車中發電機的扭矩,以“磅.英尺”為單位。程式碼如下:
- import UIKit
- import HealthKit
- class ViewController: UIViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- var footUnit = HKUnit.footUnit() //建立長度單位
- var poundUnit=HKUnit.poundUnit() //建立質量單位
- var unitMultipliedByUnit=footUnit.unitMultipliedByUnit(poundUnit) //相乘得到的複合單位
- var myForce=HKQuantity(unit: unitMultipliedByUnit, doubleValue: 100)
- println("汽車中發電機的扭矩為:\(myForce)")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 汽車中發電機的扭矩為:100 lb·ft
HealthKit的相除得到的複合資料
在數學計算中,我們常常會遇到m/s這樣的單位。這種單位是由兩個單位相除得到的。如果開發者想要在自己的程式碼中使用這種單位。首先需要使用unitDividedByUnit(_:)方法實現對這種單位的建立,其語法形式如下:
- func unitDividedByUnit(_ unit: HKUnit!) -> HKUnit!
其中,引數_ unit用來指定單位,此單位用來作為除數。
【示例2-45:HKUnit-unitDividedByUnit】下面顯示使用者跑步的速度,以“米/秒”為單位。程式碼如下:
- import UIKit
- import HealthKit
- class ViewController: UIViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- let meters = HKUnit.meterUnit() //建立長度單位
- let seconds = HKUnit.secondUnit() //建立時間單位
- let metersPerSecond = meters.unitDividedByUnit(seconds) //相除得到的複合單位
- let speed=HKQuantity(unit: metersPerSecond, doubleValue: 2)
- println("小明跑步的速度為:\(speed)")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 小明跑步的速度為:2 m/s
HealthKit的單位和整數的次方構成的複合資料
在求體積和麵積時,我們都會使用到m3、m2這樣單位。這種單位是由單位和整數的次方構成的複合單位。如果開發者想要建立這種單位,就需要使用到unitRaisedToPower(_:)方法,其語法形式如下:
- func unitRaisedToPower(_ power: Int) -> HKUnit!
其中,引數power是一個整數,用來指定次方。
【示例2-46:HKUnit-unitRaisedToPower】下面顯示水池的體積,以“立方米”為單位。程式碼如下:
- import UIKit
- import HealthKit
- class ViewController: UIViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- var meters = HKUnit.meterUnit()
- var cubicmeter=meters.unitRaisedToPower(3) //單位和整數的次方構成的複合單位
- var pool=HKQuantity(unit: cubicmeter, doubleValue: 100)
- println("水池的體積為:\(pool)")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 水池的體積為:100 m^3
HealthKit的倒數構成的複合單位
1/s這個單位為“赫茲”單位,它表示在1秒時間間隔內發生一個週期過程的頻率。類似於1/s這種單位就是由一個單位的倒數構成。如果想要在程式中使用這種單位,需要使用到reciprocalUnit()方法。reciprocalUnit()方法的功能就是對單位進行求倒數構成新的複合單位。其語法形式如下:
- func reciprocalUnit() -> HKUnit!
【示例2-47:HKUnit-reciprocalUnit】下面顯示在1秒時間間隔內發生一個週期過程的頻率,以“1/秒”為單位。程式碼如下:
- import UIKit
- import HealthKit
- class ViewController: UIViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- var seconds = HKUnit.secondUnit()
- var secondsInverse = seconds.reciprocalUnit() //由倒數構成的複合單位
- var frequency=HKQuantity(unit: secondsInverse, doubleValue: 50)
- println("在1秒時間間隔內發生一個週期過程的頻率為:\(frequency)")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 在1秒時間間隔內發生一個週期過程的頻率為:50 1/s
本文選自:HealthKit開發快速入門教程大學霸資料,轉載請註明出處,尊重技術尊重IT人!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1625377/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HealthKit開發教程之HealthKit的輔助資料
- HealthKit開發快速入門教程之HealthKit資料的操作
- HealthKit開發快速入門教程之HealthKit的主要型別資料型別
- HealthKit開發快速入門教程之HealthKit開發概述簡介
- HealthKit開發快速入門教程之HealthKit框架體系建立健康AppID框架APP
- 有關HealthKit的那些事
- iOS-HealthKit裡你未了解的資料型別iOS資料型別
- ?HealthKit開發快速入門教程大學霸內部教程
- [譯]在HealthKit中用 Swift 進行睡眠分析Swift
- 如何藉助 HealthKit 打造一款健身應用?
- 教資複習
- 請教:模式與模式的複合產物!模式
- 在組合中找到重複的資料
- oracle-複合資料型別Oracle資料型別
- PL/SQL複合資料型別SQL資料型別
- 微商複合模式系統開發(開發系統模式)模式
- XPages 開發實踐:開發基於 XPages 的複合應用程式
- 前端開發的工程之美前端
- 列組合資料去重複值
- 複合資料型別和遊標資料型別
- 淺談oracle複合資料型別Oracle資料型別
- 資料複製的併發控制
- 請教關於構件化動態組合開發的思路.
- PLSQL學習-【4複合資料型別】SQL資料型別
- 淺談oracle複合資料型別 (1)Oracle資料型別
- 淺談oracle複合資料型別 (2)Oracle資料型別
- 全面探討PL/SQL的複合資料型別(轉)SQL資料型別
- Hyperledger Fabric 使用 CouchDB 和複雜智慧合約開發
- 在Lotus Notes 8 中開發複合應用
- 在 Lotus Notes 8 中開發複合應用
- 大資料教程之大資料的影響二大資料
- 檢視錶中複合資料型別內容資料型別
- 使用dbms包結合RMAN來複制資料庫資料庫
- MS SQL資料庫中合併複製詳解SQL資料庫
- SAP UI5 初學者教程之十九 - SAP UI5 資料型別和複雜的資料繫結UI資料型別
- 複合材料製造中人工智慧混合資料模型的使用人工智慧模型
- 軟體工程之開發過程軟體工程
- 請教aop開發工具?