当用户启动应用程序时,我希望它显示 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 调用了两次,因此它试图打开最近关闭的 xib 文件。
现在,我怎么能称视图确实只出现过一次?这样当用户从斯德哥尔摩回来时不会调用 viewDidAppear 吗?任何其他解决方案?
谢谢 :)