0

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

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

但这给了我以下错误。

在没有更多上下文的情况下,表达式的类型是模棱两可的

有谁知道为什么会这样?

4

1 回答 1

2

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

manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData?, error: NSError?) in
    self!.outputAccData(data.acceleration)
}
于 2015-06-15T12:31:43.283 回答