「ティック」間の間隔がこれまでになく短いシミュレーションを構築しています。
- (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つの違いは何ですか?