ユーザーがアプリを起動すると、stockholm.xib が表示され、ここで実行されます。
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSUserDefaults *startPage =[NSUserDefaults standardUserDefaults];
NSString *page =[startPage stringForKey:@"page"];
NSLog(page);
if(page==nil)
{
//Do nothing
}
else if ([page isEqualToString:@"Default"])
{
//Do nothing
}
else if ([page isEqualToString:@"Stockholm"])
{
NSLog(@"going to Stockholm");
Stockholm *Start =[[Stockholm alloc]initWithNibName:nil bundle:nil];
[self presentModalViewController:Start animated:YES];
}
else {
NSLog(@"HAHA");
}
ただし、ユーザーが以下を使用してstockholm.xibを閉じると:
[self dismissModalViewControllerAnimated:YES];
アニメーションが完了すると、アプリがクラッシュします。その理由は、viewDidAppear が 2 回呼び出されるため、最近閉じた xib ファイルを開こうとしているからだと思います。
さて、一度だけ表示されたビューを呼び出すにはどうすればよいですか? ユーザーがストックホルムから戻ってきたときにviewDidAppearが呼び出されないようにするには? 他の解決策はありますか?
ありがとう:)