无法转换类型的值(CMAccelerometerData!,NSError!)

时间:2016-07-14 12:55:18

标签: ios swift swift2 core-motion

一直说无法转换(CMAccelerometerData!, NSError!)类型的值。我怎样才能改变它?

motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: {
            (accelerometerData: CMAccelerometerData!, error: NSError!) in
            // 3
            let acceleration = accelerometerData.acceleration
            // 4
            self.xAcceleration = (CGFloat(acceleration.x) * 0.75) + (self.xAcceleration * 0.25)
            })

2 个答案:

答案 0 :(得分:2)

让编译器推断闭包中的类型:

CMMotionManager().startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!) { (accelerometerData, error) in
    //
}

答案 1 :(得分:0)

不应该是:

(CMAccelerometerData?, NSError?) -> Void
                    ^         ^
                       not !

Reference