我試圖顯示CMPedometer
的節奏和步速數據。當我使用連接的手機運行應用程序時,它會立即通過print("...")
函數將數據輸出寫入控制檯,但需要多次轉動,直到它顯示UILabel
中的數據。 如何儘可能快地獲取數據,以便我可以使用它們?爲什麼「打印到控制檯」比「.text into label」要快得多
最佳,扎克
import UIKit
import CoreMotion
class ViewController: UIViewController {
let pedometer = CMPedometer()
@IBOutlet weak var paceLabel: UILabel!
@IBOutlet weak var cadenceLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
guard CMPedometer.isCadenceAvailable() && CMPedometer.isPaceAvailable() else{
print("Pace and cadence data are not available")
return
}
let oneWeekAgo = NSDate(timeIntervalSinceNow: -(7 * 24 * 60 * 60))
pedometer.startUpdates(from: oneWeekAgo as Date) {data, error in
guard let pData = data , error == nil else{
return
}
//The current pace of the user, measured in seconds per meter. (1 step = 83cm?)
if let pace = pData.currentPace{
print("Pace = \(pace)")
self.paceLabel.text = "Pace = \(round(Double(pace))*10/10)"
}
//The rate at which steps are taken, measured in steps per second.
if let cadence = pData.currentCadence{
self.cadenceLabel.text = "Cadence = \(cadence))"
print("Cadence = \(cadence)")
}
}// -----------------oneWeekAgo
}// -----------------ViewDidLoad
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}//-------------------- UIViewController
你是什麼意思「多轉?」 – NobodyNada
它打印我的控制檯像多個數據輸出:吳佩慈= 0.2812560419071308 Cadence公司= 2.879265785217285 佩斯= 0.2812560419071308 Cadence公司= 2.879265785217285和後一分鐘左右就顯示標籤 –