这很奇怪,因为当我直接打印data.acceleration.x
时,加速计数据打印正常,但当我尝试将该数据保存到pipViewAccel.X
之类的变量时,nil
价值被打印出来。
if motionManager.accelerometerAvailable{
let queue = NSOperationQueue()
motionManager.startAccelerometerUpdatesToQueue(queue, withHandler:
{(data: CMAccelerometerData!, error: NSError!) in
println("X = \(data.acceleration.x)") // this prints fine
pipViewAccel!.X = String(format: "%.2f", data.acceleration.x)
pipViewAccel!.Y = String(format:"%f", data.acceleration.y)
pipViewAccel!.Z = String(format:"%f", data.acceleration.z)
})
} else{
println("accelerometer is not available.")
}
println(pipViewAccel!.X) // this prints nil
在startAccelerometerUpdatesToQueue
功能之外访问加速度计数据的最佳方法是什么?