0

抱歉,我的问题中没有任何代码!我想实现一个程序,当加速度计 x 轴读数超过某个阈值时,我想启动陀螺仪更新。当陀螺仪被激活时,我也需要停止加速度计更新。我计划的方法是将加速度计数据带到全局变量,然后将其与 if 条件进行比较。如果它满足条件我需要发送信号来启动陀螺仪更新并停止加速更新?

我可以实现有关加速度和陀螺仪更新的代码,但问题是我不知道如何在全局变量的值超过阈值时启动陀螺仪数据 n 停止加速度数据?请帮我!

4

2 回答 2

1

您可以使用 getter 和 setter 来更改变量。在 setter 中,您可以检查所需的任何条件。那么您就可以,例如,发布有关达到所需阈值的通知。

- (void) setNeededValue:(valueType)newValue;
{
    neededValue = newValue;

    if( neededValue > threshold )
    {
        [[NSNotificationCenter defaultCenter] postNotificationName: someConstStringAsNotificationName object: self];
    }
}

要接收通知,请在您希望通过调用接收它的任何类中使用此代码

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationHandler) name:someConstStringAsNotificationName object:nil];
于 2012-06-14T14:59:36.743 回答
0

对我来说听起来不错,你只需要尝试一下。伪:

if ( globalVariable > thresholdValue ) {
    stopAccelData();
    startGyroData();
}
于 2012-06-14T14:59:24.280 回答