【发布时间】:2011-01-16 15:04:51
【问题描述】:
当用户启动应用程序时,我希望它显示 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 吗?还有其他解决方案吗?
感谢:)
【问题讨论】:
标签: iphone sdk xib viewdidappear