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.2XCode 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/

10-11 12:39