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 欺骗了,这也困扰着我(“Fix-it”实际上并没有修复它)。
在您的情况下,您缺少 to:
和 withHandler:
以下是 iOS 10
下 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/