加速度计相关问题。(对不起,格式可能看起来不对,这是我第一次使用这个网站)。我使用标准代码让加速度计按预期工作
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = 0.1; //I also tried other update values
每次调用我的类中的 accelerometer:didAccelerate: 方法时,我都会使用 NSLog 来记录。该函数按预期调用,直到这里一切正常。
但是,当我运行循环时,似乎没有调用上述方法。像这样的东西
float firstAccelValue = globalAccel; //this is the x-accel value (stored in a global by the above method)
float nextAccelValue = firstAccelValue;
while (nextAccelValue == firstAccelValue){
//do something
nextAccelValue = globalAccel; // note globalAccel is updated by the accelerometer method
}
上述循环永远不会退出,因为 accelerometer:didAccelerate: 方法没有被调用,因此 globalAccel 永远不会改变值。
如果我使用固定条件来中断 while 循环,我可以看到循环结束后,方法调用再次正常工作。
我在这里遗漏了一些明显的东西吗?还是在完成某些处理时加速度计方法不会触发?
任何帮助将不胜感激!谢谢!