2
我從Objective-C得到了以下代碼,它工作得很好。Swift 3 CMMotionManager startGyroUpdates不工作
_motionManager = [[CMMotionManager alloc] init];
_motionManager.gyroUpdateInterval = 1.0/60.0;
[_motionManager startGyroUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMGyroData *gyroData, NSError *error)
{
xAcceleration = gyroData.rotationRate.x;
yAcceleration = gyroData.rotationRate.y;
[self acceleratorUpdates];
}];
而我試圖將它轉換爲Swift 3,但它不起作用,它會給出各種錯誤。到目前爲止,我有這個代碼。
let motionManager = CMMotionManager()
motionManager.gyroUpdateInterval = 1.0/60.0
motionManager.startGyroUpdates(to: OperationQueue.current!, withHandler: {(gyroData: CMGyroData, error: Error)
var xAcceleration = gyroData.rotationRate.x
var yAcceleration = gyroData.rotationRate.y
print("xAcceleration: ", xAcceleration, "yAcceleration: ", yAcceleration)
})
我覺得我缺少的部分withHandler東西。該文件說: - >處理程序後無效,但沒有幫助。所有的網頁代碼是雨燕2.
將'motionManager'作爲一個實例變量工作。 –