physicsWorld.gravity = CGVector(dx: 0, dy: -2)
physicsWorld.contactDelegate = self
motionManager.accelerometerUpdateInterval = 0.2
motionManager.startAccelerometerUpdatesToQueue(OperationQueue.currentQueue!) { (data:CMAccelerometerData?, error:NSError?) -> Void in
if let accelerometerData = data {
let acceleration = accelerometerData.acceleration
self.xAcceleration = (CGFloat(acceleration.x) * 0.75 + (self.xAcceleration * 0.25))
}
}
我不知道该怎么修,当我点击“修”时它就坏了
最佳答案
我认为你被XCode欺骗了,这也困扰着我(实际上“修复”并没有修复它)。
在您的案例中,您缺少to:
和withHandler:
下面是Swift3.0.2
和XCode 8.2.1
下的工作代码
motionManager.startAccelerometerUpdates(
to: OperationQueue.main ,
withHandler:{ (data : CMAccelerometerData?, error : Error?) in
if let accelerometerData = data {
let acceleration = accelerometerData.acceleration
self.xAcceleration = (CGFloat(acceleration.x) * 0.75 + (self.xAcceleration * 0.25))
}
})
关于ios - 无法将类型(CMAccelerometerData!,NSError!)->()的值转换为CMAccelerometerHandler(aka(Optional <CMAccelerometerData>,Optional <NSError>)-<()),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41761696/