だから私は2つの見解を持っています。アプリを起動すると、1 つのビューが読み込まれます。次に、そのビューのボタンを押すと、別のビューが読み込まれます。
- (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];
}
これにより、新しいビューが正常に読み込まれます。次に、まったく同じことを行う別のボタンがありますが、最初のビューに戻ります。そして、それもうまく機能します。あるビューから別のビューに非常に簡単に移動できます。しかし、私が抱えている唯一の問題は、2番目のビューをもう一度ロードしようとすると、viewDidLoadが再度呼び出されないことです。viewDidLoad メソッドで NSLog() を使用してこれをテストしました。
アプリがやりたいことを実行するには、viewDidLoad を再度呼び出す必要があります。ビューを切り替えるときに、ビューが完全にアンロードされていない可能性があると思います。
どんな助けでも大歓迎です。