得到了如下报错:**Application tried to present a nil modal view controller on target**
。我在运行的程序是,首先判断条件是否满足,启动后修改初始化视图控制器。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions
{
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"logged_in"]) {
ViewControllerOne *vc1 = [[ViewControllerOne alloc]init];
vc1=[self.storyboard instantiateViewControllerWithIdentifier: @"vc1"];
[self presentViewController:vc1 animated:YES completion:Nil];
} else {
ViewControllerTwo *vc2 = [[ViewControllerTwo alloc]init];
vc2=[self.storyboard instantiateViewControllerWithIdentifier: @"vc2"];
[self presentViewController:vc2 animated:YES completion:Nil];
}
// Override point for customization after application launch.
return YES;
}
如果是从storyboard中来创建控制器不需要先
`
ViewControllerOne *vc1 = [[ViewControllerOne alloc]init];
`
修改后的代码如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIViewController *rootVC;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"logged_in"]) {
rootVC=[self.storyboard instantiateViewControllerWithIdentifier: @"vc1"];
} else {
rootVC=[self.storyboard instantiateViewControllerWithIdentifier: @"vc2"];
}
window.rootViewConroller=rootVC;
[self.window makeKeyAndVisible];
return YES;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。