使用计时器检查if内的条件

时间:2012-06-02 14:36:04

标签: objective-c ios timer nstimer

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

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

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

    (以上所有内容均已实施且完美无缺)

    但问题是.....................

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

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

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

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

    任何人都可以帮我在全局变量中编写这个计时函数来将变量值设置为1和0吗? (

1 个答案:

答案 0 :(得分: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一次。