我正在尝试将以下代码翻译为Swift 2。
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData!, error: NSError!) in
self!.outputAccData(data.acceleration)
}
但是这给了我以下错误。
如果没有更多的上下文,表达的类型是不明确的
有谁知道为什么会这样?
答案 0 :(得分:2)
这是可以通过从头开始重新输入代码来解决的问题之一。看来startAccelerometerUpdatesToQueue()
的第二个参数现在是(CMAccelerometerData?, NSError?) -> Void
类型的对象,而不是(CMAccelerometerData!, NSError!) -> Void
。您只需要重写您的电话就可以反映这一点。
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData?, error: NSError?) in
self!.outputAccData(data.acceleration)
}