startAccelerometerUpdatesToQueue 表达式类型在没有更多上下文的情况下不明确
startAccelerometerUpdatesToQueue Type of expression is ambiguous without more context
我正在尝试将以下代码翻译成 Swift 2.
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData!, error: NSError!) in
self!.outputAccData(data.acceleration)
}
但这给了我以下错误。
Type of expression is ambiguous without more context
有人知道为什么会这样吗?
这是可以通过从头重新键入代码来解决的问题之一。 startAccelerometerUpdatesToQueue()
的第二个参数现在似乎是 (CMAccelerometerData?, NSError?) -> Void
类型的对象,而不是 (CMAccelerometerData!, NSError!) -> Void
。您只需要重写您的调用以反映这一点。
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData?, error: NSError?) in
self!.outputAccData(data.acceleration)
}
我正在尝试将以下代码翻译成 Swift 2.
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData!, error: NSError!) in
self!.outputAccData(data.acceleration)
}
但这给了我以下错误。
Type of expression is ambiguous without more context
有人知道为什么会这样吗?
这是可以通过从头重新键入代码来解决的问题之一。 startAccelerometerUpdatesToQueue()
的第二个参数现在似乎是 (CMAccelerometerData?, NSError?) -> Void
类型的对象,而不是 (CMAccelerometerData!, NSError!) -> Void
。您只需要重写您的调用以反映这一点。
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData?, error: NSError?) in
self!.outputAccData(data.acceleration)
}