HealthKit開發快速入門教程之HealthKit的主要型別資料
HealthKit開發快速入門教程之HealthKit的主要型別資料
在HealthKit中,我們將最常用到的資料稱之為主要資料。主要資料基本上有三種:長度型別的資料、質量型別的資料、能量型別的資料。本節將主要對這三種主要資料進行講解。
長度型別資料
長度單位是指丈量空間距離上的基本單元,是人類為了規範長度而制定的基本單位。而長度單位和數值構成的就是長度型別資料。根據單位的型別不同,該型別可以分為國際長度單位和英制長度單位兩種。以下就是對這兩種長度單位的介紹。
1.國際長度單位
國際長度單位是“米”為單位的。對於此單位的建立,需要使用到meterUnit()方法,其語法形式如下:
- class func meterUnit() -> Self!
【示例2-8:HKUnit-meterUnit】下面顯示使用者一天內的行走路程。程式碼如下:
- 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 unit = HKUnit.meterUnit() //建立米單位
- let distance=HKQuantity(unit: unit, doubleValue: 100)
- println("一天內小明的行走路程為:\(distance)")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,米被寫為m。
- 一天內小明的行走路程為:100 m
注意:國際長度單位“米”可以帶有字首,如“千米”、“釐米等”。對於這些單位的建立需要使用到meterUnitWithMetricPrefix(_:)方法,其語法形式如下:
- class func meterUnitWithMetricPrefix(_ prefix: HKMetricPrefix) -> Self!
其中,prefix用來指定一個有效的度量字首值,它是一個HKMetricPrefix列舉型別的資料。其語法形式如下:
- enum HKMetricPrefix : Int {
- case None
- case Pico //皮米
- case Nano //奈米
- case Micro //微米
- case Milli //毫米
- case Centi //釐米
- case Deci //分米
- case Deca //十米
- case Hecto //百米
- case Kilo //千米
- case Mega //106米
- case Giga //109米
- case Tera //1012米
- }
其中,成員說明如表2-1所示。
表2-1 HKMetricPrefix成員說明
注意:這裡的基本單位是國際單位米(m)。
【示例2-9:HKUnit-meterUnitWithMetricPrefix】下面顯示使用者一天內的行走路程。程式碼如下:
- 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 unit = HKUnit.meterUnitWithMetricPrefix(HKMetricPrefix.Kilo)
- let distance=HKQuantity(unit: unit, doubleValue: 100)
- println("一天內小明的行走路程為:\(distance)")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,千米被寫成km。
- 一天內小明的行走路程為:100 km
2.英制長度單位
英制單位是一種源自英國的度量衡單位制。用來度量長度的單位就是英制長度單位。在英制長度單位中為了與國際單位區別,多在單位前加一“英”字,或冠以口字旁稱之,如:英里(英哩)、英尺(英呎)、英寸(英吋)等。以下將講解常用的3個英制長度單位。
(1)英寸
一般1英寸等於2.54釐米。建立以“英寸”為單位的物件,一般需要使用到inchUnit()方法,其語法形式如下:
- class func inchUnit() -> Self!
【示例2-10:HKUnit-inchUnit】下面顯示使用者一天內的行走路程,此時單位需要使用“英寸”。程式碼如下:
- 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 unit = HKUnit.inchUnit() //建立英寸單位
- let distance=HKQuantity(unit: unit, doubleValue: 1000)
- println("一天內小明的行走路程為:\(distance)")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,英寸被簡寫為in。
- 一天內小明的行走路程為:1000 in
(2)英尺
在英制長度單位中,12英寸等於1英尺。如果要建立以“英尺”為單位的物件,一般需要使用到footUnit()方法,其語法形式如下:
- class func footUnit() -> Self!
【示例2-11:HKUnit-footUnit】下面顯示使用者一天內的行走路程,此時單位需要使用“英尺”。程式碼如下:
- 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 unit = HKUnit.footUnit() //建立長度單位
- let distance=HKQuantity(unit: unit, doubleValue: 500)
- println("一天內小明的行走路程為:\(distance)")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,英尺被簡寫為ft。
- 一天內小明的行走路程為:500 ft
(3)英里
英里也是英制長度單位中最常使用的單位。如果要建立以“英里”為單位的物件,一般需要使用到mileUnit()方法,其語法形式如下:
- class func mileUnit() -> Self!
【示例2-12:HKUnit-mileUnit】下面顯示大巴車一天內行駛的路程,此時單位需要使用“英里”。程式碼如下:
- 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 unit = HKUnit.mileUnit() //建立英里單位
- let distance=HKQuantity(unit: unit, doubleValue: 5000)
- println("一天內大巴車的行駛路程為:\(distance)")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,英里被簡寫為mi。
- 一天內大巴車的行駛路程為:5000 mi
3.長度單位轉換
長度單位是可以在單位物件和長度單位值之間進行轉換的。當開發者寫了一個字串來描述單位,但是又不知道這個字串代表什麼時,就可以將單位物件轉換為長度單位值進行檢視。當開發者想寫一個以“碼”或者是“英里”為單位的物件時,但只知道到單位值而不知道對應的字串時,可以將長度單位值轉換為單位物件就可以了。以下將詳細講解單位物件和長度單位值之間的轉換。
(1)單位物件轉換為長度單位值
有時我們需要將一個資料中的單位物件轉為長度單位值。此時需要使用lengthFormatterUnitFromUnit(_:)方法實現。其語法形式如下:
- class func lengthFormatterUnitFromUnit(_ unit: HKUnit!) -> NSLengthFormatterUnit
其中,unit用來指定一個單位物件。該方法的返回值型別為NSLengthFormatterUnit列舉型別,其語法形式如下:
- enum NSLengthFormatterUnit : Int {
- case Millimeter
- case Centimeter
- case Meter
- case Kilometer
- case Inch
- case Foot
- case Yard
- case Mile
- }
其中成員的含義如表2-2所示。
表2-2 NSLengthFormatterUnit成員說明
【示例2-13:HKUnit-lengthFormatterUnitFromUnit】將單位物件的對應長度單位值進行顯示。程式碼如下:
- 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 myunit=HKUnit(fromString: "mi")
- var myUnitValue=HKUnit.lengthFormatterUnitFromUnit(myunit).rawValue //獲取相應的值
- //判斷
- if let b=NSLengthFormatterUnit(rawValue: myUnitValue){
- switch b{
- case .Millimeter:
- println("Millimeter")
- case .Centimeter:
- println("Centimeter")
- case .Meter:
- println("Meter")
- case .Kilometer:
- println("Kilometer")
- case .Inch:
- println("Inch")
- case .Foot:
- println("Foot")
- case .Yard:
- println("Yard")
- case .Mile:
- println("Mile")
- default:
- println("其它")
- }
- }
- }
- ……
- }
此時執行程式,會看到如下的效果。
- Mile
(2)長度單位值轉為單位物件
在HealthKit中不僅可以將單位物件轉換為相應的長度單位值,而且可以將長度單位值轉換為單位物件。此時需要使用到init(fromLengthFormatterUnit:)方法,其語法形式如下:
- convenience init!(fromLengthFormatterUnit lengthFormatterUnit: NSLengthFormatterUnit)
其中,lengthFormatterUnit用來指定一個有效的長度單位值。長度單位值的指定可以參考表2-2。
【示例2-14:HKUnit-init(fromLengthFormatterUnit/)】將長度單位值轉換為單位物件。程式碼如下:
- 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 myLengthFormatterUnit=NSLengthFormatterUnit.Kilometer
- var myunit=HKUnit(fromLengthFormatterUnit: myLengthFormatterUnit)
- println(myunit)
- }
- ……
- }
此時執行程式,會看到如下的效果。
- km
2.2.2 質量型別的資料
質量單位用於計量質量的標準。質量單位和值構成的就是質量型別資料。質量單位可以分為國際質量單位和英制質量單位這兩種。以下就是對這兩種質量單位的介紹。
1.國際質量單位
國際質量單位有克和摩爾兩種,以下就是對這兩種質量單位的介紹。
(1)克
克作為質量單位,其符號為g。如果想要建立一個以“克”為單位的單位物件,需要使用到gramUnit()方法,其語法形式如下:
- class func gramUnit() -> Self!
【示例2-15:HKUnit-gramUnit】下面顯示使用者的體重,以“克”為單位。程式碼如下:
- 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 myUnit=HKUnit.gramUnit() //建立以“克”為單位的單位物件
- var myWeight=HKQuantity(unit: myUnit, doubleValue: 50000)
- println("小紅的體重為:\(myWeight)")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 小紅的體重為:50000 g
注意:開發者也可以像國際長度單位“米”一樣,為“克”新增字首,此時需要使用到gramUnitWithMetricPrefix(_:)方法,其語法形式如下:
- class func gramUnitWithMetricPrefix(_ prefix: HKMetricPrefix) -> Self!
其中,prefix用來指定一個有效的度量字首值,這些值就是表2-1中的內容。
【示例2-16:HKUnit-gramUnitWithMetricPrefix】下面顯示使用者的體重,以“千克”為單位。程式碼如下:
- 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 myUnit=HKUnit.gramUnitWithMetricPrefix(HKMetricPrefix.Kilo)
- var myWeight=HKQuantity(unit: myUnit, doubleValue: 50)
- println("小紅的體重為:\(myWeight)")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,千克被簡寫為kg。
- 小紅的體重為:50 kg
(2)摩爾
科學上把含有6.02×1023個微粒的集合體作為一個單位,稱為摩爾(mole),簡稱摩,舊稱克分子、克原子。它是國際單位制7個基本單位之一,表示物質的量,符號為mol。建立一個以“摩爾”為單位的物件,需要使用到moleUnitWithMolarMass(_:)方法,其語法形式如下:
- class func moleUnitWithMolarMass(_ gramsPerMole: Double) -> Self!
其中,引數gramsPerMole是一個雙精度型別,用來指定被稱過專案的摩爾質量(以g/mol為單位)。
【示例2-17:HKUnit-moleUnitWithMolarMass】下面顯示Fe即鐵的質量。程式碼如下:
- 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 myUnit=HKUnit.moleUnitWithMolarMass(56)
- println("鐵的質量為\(myUnit)")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,摩爾被簡寫為mol。
- 鐵的質量為mol<56>
注意:“摩爾”也是可以有字首的。為“摩爾”新增字首的方法是moleUnitWithMetricPrefix(_:molarMass:)方法,其語法形式如下:
- class func moleUnitWithMetricPrefix(_ prefix: HKMetricPrefix,
- molarMass gramsPerMole: Double) -> Self!
其中,prefix用來指定一個有效的度量字首值,這些值就是表2-1中的內容。引數gramsPerMole:是一個雙精度型別,用來指定被稱過專案的摩爾質量(以g/mol為單位)。
【示例2-18:HKUnit-moleUnitWithMetricPrefix】下面顯示Fe即鐵的質量。程式碼如下:
- 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 myUnit=HKUnit.moleUnitWithMetricPrefix(HKMetricPrefix.Centi, molarMass: 5600)
- println("鐵的質量為\(myUnit)")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 鐵的質量為cmol<5600>
2.英制質量單位
(1)盎司
“盎司”是英制的計量單位。它是國際上通用的黃金計量單位。如果想要建立一個以“盎司”為單位的物件,一般需要使用到ounceUnit()方法,其語法形式如下:
- class func ounceUnit() -> Self!
【示例2-19:HKUnit-ounceUnit】下面顯示黃金的質量,以“盎司”為單位。程式碼如下:
- 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 goldUnit=HKUnit.ounceUnit()
- var goleWeight=HKQuantity(unit: goldUnit, doubleValue: 50)
- println("黃金的質量為\(goleWeight)")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,盎司被簡寫為oz。
- 黃金的質量為50 oz
(2)磅
磅是英美製重量單位,一磅合0.45359237公斤。磅(英語:pound)是英國與美國所使用的英制質量單位,簡寫是lb。如果想要建立一個以“磅”為單位的物件,一般需要使用到poundUnit()方法,其語法形式如下:
- class func poundUnit() -> Self!
【示例2-20:HKUnit-poundUnit】下面顯示使用者的體重,以“磅”為單位。程式碼如下:
- 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 myUnit=HKUnit.poundUnit()
- var myWeight=HKQuantity(unit: myUnit, doubleValue: 100)
- println("小紅的體重為:\(myWeight)")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 小紅的體重為:100 lb
(3)英石
英石(英文為Stone,縮寫st)是不列顛群島使用的英制質量單位之一,亦被英聯邦國家普遍採用。如果想要建立一個以“英石”為單位的物件,一般需要使用到stoneUnit()方法,其語法形式如下:
- class func stoneUnit() -> Self!
【示例2-21:HKUnit-stoneUnit】下面顯示使用者的體重,以“英石”為單位。程式碼如下:
- 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 myUnit=HKUnit.stoneUnit()
- var myWeight=HKQuantity(unit: myUnit, doubleValue:10)
- println("小紅的體重為:\(myWeight)")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 小紅的體重為:10 st
3.質量單位轉換
質量單位和長度單位類似,可以在單位物件和質量單位值之間進行轉換。以下將講解它們之間的轉換。
(1)單位物件轉換為質量單位值
將單位物件轉換為質量單位值需要使用到massFormatterUnitFromUnit(_:)方法,其語法形式如下:
- class func massFormatterUnitFromUnit(_ unit: HKUnit!) -> NSMassFormatterUnit
其中,引數unit用來指定一個單位物件。該方法的返回值型別為NSMassFormatterUnit列舉型別,其語法形式如下:
- enum NSMassFormatterUnit : Int {
- case Gram
- case Kilogram
- case Ounce
- case Pound
- case Stone
- }
其中,成員說明如表2-3所示。
表2-3 NSMassFormatterUnit成員說明
【示例2-22:HKUnit-massFormatterUnitFromUnit】下面將單位物件的對應質量單位值進行顯示。程式碼如下
- 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 myunit=HKUnit(fromString: "kg")
- var myUnitValue=HKUnit.massFormatterUnitFromUnit(myunit).rawValue //獲取對應的值
- //判斷
- if let myvalue=NSMassFormatterUnit(rawValue: myUnitValue){
- switch myvalue{
- case .Gram:
- println("Gram")
- case .Kilogram:
- println("Kilogram")
- case .Ounce:
- println("Ounce")
- case .Pound:
- println("Pound")
- case .Stone:
- println("Stone")
- default:
- println("其它")
- }
- }
- }
- ……
- }
此時執行程式,會看到如下的效果。
- Kilogram
(2)質量單位值轉為單位物件
質量單位值轉為單位物件需要使用到init(fromMassFormatterUnit:)方法,其語法形式如下:
- convenience init!(fromMassFormatterUnit massFormatterUnit: NSMassFormatterUnit)
其中,massFormatterUnit用來指定一個有效的質量單位值。質量單位值的指定可以參考表2-3。
【示例2-23:HKUnit-init(fromMassFormatterUnit/)】下面將質量單位值轉換為單位物件進行顯示。程式碼如下:
- 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 myMassFormatterUnit=NSMassFormatterUnit.Ounce
- var myunit=HKUnit(fromMassFormatterUnit: myMassFormatterUnit) //轉換
- println(myunit)
- }
- ……
- }
此時執行程式,會看到如下的效果。
- oz
2.2.3 能量型別的資料
能量單位是物質運動的一般量度。物質運動有多種形式,表現各異,但可互相轉換,表明這些運動有共性,也有內在的統一的量度,即能量單位。能量單位和值就構成了資料。能量單位只有國際能量單位。本小節將講解國際能量單位以及能量單位的轉換。
1.國際能量單位
國際能量單位有3種分別為:焦耳、卡路里、千卡。以下就是對這3種國際能量單位的介紹。
(1)焦耳
焦耳簡稱“焦”,是為了紀念英國著名物理學家詹姆斯·普雷斯科特·焦耳而創立的。如果要建立一個以“焦耳”為單位的單位物件,需要使用到jouleUnit()方法,其語法形式如下:
- class func jouleUnit() -> Self!
【示例2-24:HKUnit-jouleUnit】下面顯示一小時所消耗的能量,以“焦耳”為單位。程式碼如下:
- 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 myUnit=HKUnit.jouleUnit()
- var myenergy=HKQuantity(unit: myUnit, doubleValue: 1000)
- println("運動1小時所消耗\(myenergy)的能量")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,焦耳被簡寫為J。
- 運動1小時所消耗1000 J的能量
注意:“焦耳”也是可以新增字首的,此時需要使用到jouleUnitWithMetricPrefix(_:)方法,其語法形式如下:
- class func jouleUnitWithMetricPrefix(_ prefix: HKMetricPrefix) -> Self!
其中,prefix用來指定一個有效的度量字首值,這些值就是表2-1中的內容。
【示例2-25:HKUnit-jouleUnitWithMetricPrefix】下面顯示一小時所消耗的能量,以“千焦”為單位。程式碼如下:
- 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 myUnit=HKUnit.jouleUnitWithMetricPrefix(HKMetricPrefix.Kilo) //建立質量單位
- var myenergy=HKQuantity(unit: myUnit, doubleValue: 1)
- println("運動1小時所消耗\(myenergy)的能量")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 運動1小時所消耗1 kJ的能量
(2)卡路里
卡路里簡稱卡,縮寫為cal,由英文Calorie音譯而來,其定義為在1個大氣壓下,將1克水提升1攝氏度所需要的熱量;卡路里(calorie)是能量單位,現在仍被廣泛使用在營養計量和健身手冊上。如果要建立一個以“卡路里”為單位的單位物件,需要使用到calorieUnit()方法,其語法形式如下:
- class func calorieUnit() -> Self!
【示例2-26:HKUnit-calorieUnit】下面顯示一小時所消耗的能量,以“卡路里”為單位。程式碼如下:
- 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 myUnit=HKUnit.calorieUnit()
- var myenergy=HKQuantity(unit: myUnit, doubleValue: 500)
- println("運動1小時所消耗\(myenergy)的能量")
- }
- ……
- }
此時執行程式,會看到如下的效果。
- 運動1小時所消耗500 cal的能量
(3)千卡
千卡也叫做大卡,1千卡等於1000卡路里。如果要建立一個以“千卡”為單位的單位物件,需要使用到kilocalorieUnit()方法,其語法形式如下:
- class func kilocalorieUnit() -> Self!
【示例2-27:HKUnit-kilocalorieUnit】下面顯示一小時所消耗的能量,以“千卡”為單位。程式碼如下:
- 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 myUnit=HKUnit.kilocalorieUnit()
- var myenergy=HKQuantity(unit: myUnit, doubleValue: 10)
- println("運動1小時所消耗\(myenergy)的能量")
- }
- ……
- }
此時執行程式,會看到如下的效果。其中,千卡被簡寫為kcal。
- 運動1小時所消耗10 kcal的能量
2.能量單位的轉換
能量單位也可以在單位物件和能量單位值之間進行轉換。以下將講解它們之間的轉換。
(1)單位物件轉換為能量單位值
將單位物件轉換為能量單位值需要使用到energyFormatterUnitFromUnit(_:)方法,其語法形式如下:
- class func energyFormatterUnitFromUnit(_ unit: HKUnit!) -> NSEnergyFormatterUnit
其中,unit用來指定一個單位物件。該方法的返回值型別為NSEnergyFormatterUnit列舉型別,其語法形式如下:
- enum NSEnergyFormatterUnit : Int {
- case Joule
- case Kilojoule
- case Calorie
- case Kilocalorie
- }
其中,成員說明如表2-4所示。
表2-4 NSEnergyFormatterUnit成員物件
【示例2-28:HKUnit-energyFormatterUnitFromUnit】將單位物件的對應能量單位值進行顯示。程式碼如下
- 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 myunit=HKUnit(fromString: "kJ")
- var myUnitValue=HKUnit.energyFormatterUnitFromUnit(myunit).rawValue //獲取相應的值
- //判斷
- if let myvalue=NSEnergyFormatterUnit(rawValue: myUnitValue){
- switch myvalue{
- case .Joule:
- println("Joule")
- case .Kilojoule:
- println("Kilojoule")
- case .Calorie:
- println("Calorie")
- case .Kilocalorie:
- println("Kilocalorie")
- default:
- println("其它")
- }
- }
- }
- ……
- }
此時執行程式,會看到如下的效果。
- Kilojoule
(2)能量單位值轉為單位物件
將能量單位值轉換為單位物件需要使用到init(fromEnergyFormatterUnit:)方法,其語法形式如下:
- convenience init!(fromEnergyFormatterUnit energyFormatterUnit: NSEnergyFormatterUnit)
其中,massFormatterUnit用來指定一個有效的質量單位值。質量單位值的指定可以參考表2-4。
【示例2-29:HKUnit-init(fromEnergyFormatterUnit/)】將能量單位值轉為單位物件。程式碼如下:
- 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 myEnergyFormatterUnit=NSEnergyFormatterUnit.Calorie
- var myunit=HKUnit(fromEnergyFormatterUnit: myEnergyFormatterUnit)
- println(myunit)
- }
- ……
- }
此時執行程式,會看到如下的效果。
- cal
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1621924/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HealthKit開發快速入門教程之HealthKit資料的操作
- HealthKit開發快速入門教程之HealthKit開發概述簡介
- HealthKit開發教程之HealthKit的複合資料
- HealthKit開發教程之HealthKit的輔助資料
- HealthKit開發快速入門教程之HealthKit框架體系建立健康AppID框架APP
- ?HealthKit開發快速入門教程大學霸內部教程
- iOS-HealthKit裡你未了解的資料型別iOS資料型別
- 有關HealthKit的那些事
- C#快速入門教程(7)——資料型別概述C#資料型別
- MySQL入門--資料型別MySql資料型別
- [譯]在HealthKit中用 Swift 進行睡眠分析Swift
- Python 3 快速入門 1 —— 資料型別與變數Python資料型別變數
- MySQL入門系列:MySQL資料型別MySql資料型別
- Java的主要資料型別(Primitive)Java資料型別MIT
- 如何藉助 HealthKit 打造一款健身應用?
- javascript快速入門9--引用型別JavaScript型別
- git 入門教程之協同開發Git
- gitbook 入門教程之快速體驗Git
- HarmonyOS快速開發入門
- 前端開發快速入門前端
- javascript快速入門8--值,型別與型別轉換JavaScript型別
- Redis入門教程(二)— 基本資料型別Redis資料型別
- python入門使用(四):資料型別Python資料型別
- Java入門系列-05-資料型別和型別轉換Java資料型別
- 度量快速開發平臺——快速入門
- Pandas高階教程之:category資料型別Go資料型別
- C#快速入門教程(22)—— 常用集合型別C#型別
- Python開發的入門教程(二)-List和Tuple型別Python型別
- 大資料開發-Spark-初識Spark-Graph && 快速入門大資料Spark
- Unity 2D遊戲開發快速入門(內部資料)Unity遊戲開發
- 【開發篇plsql】plsql資料型別(一) 集合型別SQL資料型別
- 如何大資料開發入門大資料
- VS2005入門之資料型別資料型別
- GO 語言快速開發入門Go
- Koa2開發快速入門
- Flutter開發之Dart的資料型別02FlutterDart資料型別
- 通俗易懂的ArcGis開發快速入門
- C#快速入門教程(11)—— 字元和字串型別C#字元字串型別