Итак, у меня есть два представления. Когда я запускаю приложение, загружается одно представление. Затем, когда я нажимаю кнопку в этом представлении, загружается другое представление.
- (IBAction)triggerGame
{
leveldata = [[NSMutableDictionary alloc] init];
[leveldata setValue:@"hide" forKey:@"shootarrow"];
[leveldata writeToFile:[self levelFilePath] atomically:YES];
[leveldata release];
Papertoss_MaraAppDelegate *mainDelegate = (Papertoss_MaraAppDelegate *)[[UIApplication sharedApplication] delegate];
[mainDelegate playGame];
}
Это действие запускает метод в реализации делегата, называемый playGame, который выглядит следующим образом:
- (void)playGame {
[levelView.view removeFromSuperview];
[self.window addSubview:[gameView view]];
[UIView commitAnimations];
}
Это загружает новое представление нормально. Затем у меня есть еще одна кнопка, которая делает то же самое, но возвращает меня к первому виду. И он тоже отлично работает. Я могу очень легко переходить от одного представления к другому. Но единственная проблема, с которой я столкнулся: когда я пытаюсь загрузить второе представление во второй раз, viewDidLoad не вызывается снова. Я проверил это, используя NSLog () в методе viewDidLoad.
Чтобы мое приложение выполняло то, что я хочу, мне нужно снова вызвать viewDidLoad. Я предполагаю, что мой вид не полностью выгружается, когда я переключаюсь между ними.
Любая помощь приветствуется.