0

我必须开发一个应用程序来执行以下操作,

  1. 开关用于启动加速度计
  2. 然后将加速度计数据插入到大小为 5 的数组中
  3. 然后使用这些加速度计数据使用方程式计算输出值
  4. 每次有新读数出现时,我都会删除数组的最后一个元素并将其添加到数组中(数组在整个循环中保持动态
  5. 然后我想比较计算的输出是否大于指定值并更新全局计数器?

我通过使用 if 条件实现了这一点

if(output>10){
[[shared sharedInstance].counter++;
}

(以上均已实现,并且运行良好)

但问题是…………

我想检查这个 if 条件,用于更新为激活 5 毫秒并停用 10 毫秒,但“不”停止加速度计数据处理和计算输出也很重要。

所以我认为我可以实现两个全局变量并设置它们的值,如下所示 1. var_x - 将其值设置为 1 5ms,然后将其设置为 10ms,这个过程应该不断重复,它应该在用户激活加速度计后开始,

因此,通过在我的 if 条件中使用它,我可以确保它在 10ms 后检查条件并继续检查 5ms 像这样......

if(output>10 && [[shared sharedInstance].var_x >1){
[[shared sharedInstance].counter++;
}

谁能帮我在全局变量中编写这个计时函数以将变量值设置为 1 和 0 ?(

4

1 回答 1

1
- (void)turnCheckOn {
    doCheck = YES;
    [self performSelector:@selector(turnCheckOff) withObject:nil afterDelay:0.005];
}

- (void)turnCheckOff {
    doCheck = NO;
    [self performSelector:@selector(turnCheckOn) withObject:nil afterDelay:0.010];
}

然后调用turnCheckOn一次。

于 2012-06-02T15:13:27.740 回答