【发布时间】:2013-12-12 07:53:59
【问题描述】:
当应用程序从最小化恢复时,我想从 AppDelegate 呈现两个 ViewController。
我已经使用applicationWillEnterForeground: 函数来呈现 ViewControllers。但是,当我使用以下代码运行应用程序时,它会崩溃并显示错误:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target <ViewController: 0x1566a420>.' 而且我使用 storyBoards 来呈现 ViewControllers 而不是 nib 文件。
请帮助我解决这个问题,因为我哪里出错了。一周以来我一直在为此苦苦挣扎。
- (void)applicationWillEnterForeground:(UIApplication *)application
{
if(ConditionOne)
{
[self.window.rootViewController presentViewController:[self getMyFilesActivityView] animated:YES completion:nil];
[self.window.rootViewController dismissViewControllerAnimated:YES completion:nil];
}
else if(ConditionTwo)
{
[self.window.rootViewController presentViewController:[self getPasswordActivityView] animated:YES completion:nil];
[self.window.rootViewController dismissViewControllerAnimated:YES completion:nil];
}
}
-(MyFilesViewController *)getMyFilesActivityView
{
if(self.myFiles== nil)
{
self.myFiles = [[MyFilesViewController alloc]init];
myFiles = [self.storyboard instantiateViewControllerWithIdentifier:@"MyFilesID"];
}
return self.myFiles;
}
-(PasswordEnterViewController *)getPasswordActivityView
{
if(self.passwordEnter== nil)
{
self.passwordEnter = [[PasswordEnterViewController alloc]init];
passwordEnter = [self.storyboard instantiateViewControllerWithIdentifier:@"PasswordEnterID"];
}
return self.passwordEnter;
}
【问题讨论】:
标签: ios cocoa-touch uiviewcontroller