Когда мой основной viewController первый раз нажимается, он начинает показывать демо (при повторении) следующим образом:
showingDemo = YES;
[self startDemo];
- (void)startDemo {
if (showingDemo) {
[self performSelector:@selector(stepone) withObject:nil afterDelay:1.5f];
[self performSelector:@selector(steptwo) withObject:nil afterDelay:2.0f];
[self performSelector:@selector(stepthree) withObject:nil afterDelay:3.8f];
[self performSelector:@selector(stepfour) withObject:nil afterDelay:4.3f];
[self performSelector:@selector(startDemo) withObject:nil afterDelay:5.6f];
}
}
При повторном нажатии на экран выводится новый ViewController
showingDemo = NO;
[self.view addSubview:newView];
Я думал, что это остановит бесконечный цикл.
Когда пользователь возвращается к моему главному viewController:
[newView.view removeFromSuperview];
И снова нажимает на экран:
showingDemo = YES;
[self startDemo];
При тестировании моего приложения, если я быстро щелкаю назад (до того, как цикл успел закончиться, программа, кажется, дважды проходит цикл - тот, который был ранее, и новый - и, следовательно, все выглядит странно, когда функция 'stepthree' происходит перед 'stepone' и т. д.
Кто-нибудь знает лучший способ ОСТАНОВИТЬ цикл, который я запрограммировал навсегда, чтобы при следующем запуске он не запускался несколькими циклами, думая, что предыдущий цикл еще не закончен?
Большое спасибо!