У меня есть следующие ViewControllers, которые представляют следующий ViewController когда-то закончено:Попытки представить View Controller Предупреждения
Nr1: Мой GameViewController проверяет, что игра закончена, и называют CheckGameFinished:
-(void) checkGameFinished {
if ([self.gameModel isGameOver]) {
double delayTimeInSeconds = 3.5;
dispatch_time_t popTimeDelay = dispatch_time(DISPATCH_TIME_NOW, delayTimeInSeconds * NSEC_PER_SEC);
dispatch_after(popTimeDelay, dispatch_get_main_queue(), ^(void){
[progressBarTimer invalidate];
level2ViewController *govc = [self.storyboard instantiateViewControllerWithIdentifier:@"level2ViewController"];
[self.finishAudio play];
[self presentViewController:govc animated:NO completion:^(){
[self.gameModel clearGameData];
}];
});
}
}
Тогда level2ViewController:
- (void)viewDidLoad {
[super viewDidLoad];
double delayTimeInSeconds = 2;
dispatch_time_t popTimeDelay = dispatch_time(DISPATCH_TIME_NOW, delayTimeInSeconds * NSEC_PER_SEC);
dispatch_after(popTimeDelay, dispatch_get_main_queue(), ^(void){
GameViewController *gvc = [self.storyboard instantiateViewControllerWithIdentifier:@"gameViewController"];
[self presentViewController:gvc animated:NO completion:nil];
});
}
и называется следующим ViewController и т. д.
Теперь я получаю сверхурочную работу следующие предупреждения:
Предупреждение: Попытка представить GameViewController на level2ViewController которого вид не в иерархии окон!
Возможный дубликат [чей вид не находится в иерархии окон] (http://stackoverflow.com/questions/11862883/whose-view-is-not-in-the-window-hierarchy) –
Вы создаете новые контроллеры представлений навсегда? 'GameViewController' создает экземпляр' level2ViewController', который создает экземпляр 'GameViewController', который ... –
Контроллер представления находится в моей раскадровке, и я хочу просто называть их без segues. – iOSBeginner