Tre*_*vör 1 ios core-motion swift
我正在尝试使用 CoreMotion 和 Swift 获取加速度计更新,这是我放置在 viewDidLoad 中的内容:
override func viewDidLoad() {
super.viewDidLoad()
let motionManager = CMMotionManager()
motionManager.accelerometerUpdateInterval = 0.2
motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()) {
(info:CMAccelerometerData!,error:NSError!) in
if error != nil {
println(error)
}
else {
println("OK")
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,看起来我的闭包从未被调用(我控制台中没有任何内容),你知道为什么吗?
问题在于,motionManager您的 CMMotionManager 实例分配给的变量 被声明为局部变量(在函数体内viewDidLoad),这意味着当函数执行完毕时,该变量将不存在。因此它的寿命大约是万分之一秒。
好吧,这对于您的 CMMotionManager 获取大量更新来说还不够长!
| 归档时间: |
|
| 查看次数: |
794 次 |
| 最近记录: |