2

「ティック」間の間隔がこれまでになく短いシミュレーションを構築しています。

- (void) simulationTick {
    if (self.currentTick >= kNumberOfSimulationTicks)
        return; // recursion anchor

    // ... do stuff ...

    self.currentTick = self.currentTick + 1;
    [self performSelector:@selector(simulationTick) withObject:nil
               afterDelay:2.5 * pow(0.95,(double)self.currentTick)]; // acceleration
}

シミュレーション画面を出るときにシミュレーションを止めたいので、

[NSObject cancelPreviousPerformRequestsWithTarget:self]

初めて使ってみた

[[NSRunLoop currentRunLoop] cancelPerformSelectorsWithTarget:self]

…しかし、これはうまくいきませんでした。

なぜだめですか?

どうやら同じ問題と同じ解決策を持っていたの多くの人がいます。 しかし、正確な理由はどこにも見つかりませんでした。2つの違いは何ですか?

4

0 に答える 0