0

次のことを行うアプリケーションを開発する必要があります。

  1. スイッチは加速度計を開始するために使用されます
  2. 次に、加速度計データがサイズ 5 の配列に挿入されます。
  3. 次に、これらの加速度計データを使用して、式を使用して出力値を計算します
  4. 新しい読み取り値が来るたびに、配列の最後の要素を削除して配列に追加します(配列はループ全体で動的のままです
  5. 次に、計算された出力が指定された値より大きいかどうかを比較し、グローバル カウンターを更新しますか?

if条件を使ってこれを実装しました

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

(上記はすべて実装されており、完全に機能します)

しかし、問題は......................

これを確認したい場合は、5 ミリ秒アクティブで 10 ミリ秒非アクティブになるように更新していましたが、加速度計のデータ処理と出力の計算を停止しないようにすることも重要です。

したがって、2 つのグローバル変数を実装して、以下に示すように値を設定できると考えました。

したがって、これを 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 に答える