startAccelerometerUpdatesToQueue表达式的类型不明确,没有更多上下文

时间:2015-06-15 08:48:29

标签: swift core-motion swift2

我正在尝试将以下代码翻译为Swift 2。

manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData!, error: NSError!) in              
    self!.outputAccData(data.acceleration)
}

但是这给了我以下错误。

  

如果没有更多的上下文,表达的类型是不明确的

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:2)

这是可以通过从头开始重新输入代码来解决的问题之一。看来startAccelerometerUpdatesToQueue()的第二个参数现在是(CMAccelerometerData?, NSError?) -> Void类型的对象,而不是(CMAccelerometerData!, NSError!) -> Void。您只需要重写您的电话就可以反映这一点。

manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData?, error: NSError?) in
    self!.outputAccData(data.acceleration)
}