我最近将我的xcode从版本6.3.1升级到xcode 7.1 beta。我正在使用CMMotionManger,以下代码显示新版本中的错误。我试过解决它但找不到解决方案。在此先感谢。
代码:
let motionManager=CMMotionManager()
motionManager.accelerometerUpdateInterval = 0.2
if(motionManager.accelerometerAvailable)
{
motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: { in
(accelerometerData: CMAccelerometerData!, error: NSError!) in
let acceleration = accelerometerData.acceleration
self.accelerationX = CGFloat(acceleration.x)
})
}
错误遇到:
无法将类型'(CMAccelerometerData!,NSError!) - >()'的值转换为预期的参数类型'CMAccelerometerHandler'(又名'(可选,可选) - <()')
答案 0 :(得分:1)
得到了答案。试过很多事情,以下工作。
声明accelerometerData,错误如下,并直接使用处理程序块内的变量。
让_:CMAccelerometerData!
让_:NSError!
let _:CMAccelerometerData!
let _:NSError!
if(motionManager.accelerometerAvailable)
{
motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: {
accelerometerData,error in
let acceleration = accelerometerData!.acceleration
self.accelerationX = CGFloat(acceleration.x)
})
它有效。:)