Я строю своего рода симуляцию с еще меньшими интервалами между «галочками»:
- (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]
… но это не сработало.
Почему бы и нет?
Видимо многие другие имели ту же проблему и то же решение.Но нигде не смог найти именно почему .Какая разница между ними?