【问题标题】:startAccelerometerUpdatesToQueue Type of expression is ambiguous without more contextstartAccelerometerUpdatesToQueue 表达式类型不明确,没有更多上下文
【发布时间】:2015-06-15 08:48:29
【问题描述】:
我正在尝试将以下代码翻译成 Swift 2。
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData!, error: NSError!) in
self!.outputAccData(data.acceleration)
}
但这给了我以下错误。
没有更多上下文的表达类型是模棱两可的
有人知道为什么会这样吗?
【问题讨论】:
标签:
swift
core-motion
swift2
【解决方案1】:
这是可以通过从头开始重新输入代码来解决的问题之一。看来startAccelerometerUpdatesToQueue() 的第二个参数现在是(CMAccelerometerData?, NSError?) -> Void 类型的对象,而不是(CMAccelerometerData!, NSError!) -> Void。你只需要重写你的调用来反映这一点。
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) { [weak self] (data: CMAccelerometerData?, error: NSError?) in
self!.outputAccData(data.acceleration)
}