页面视图控制器首先启动ios

时间:2014-10-02 06:03:05

标签: ios controller launch appdelegate

我有一个问题。 我创建了一个页面视图控制器来显示我的应用程序的教程。此页面视图控制器显示在期间 第一次启动该应用程序。我将以下代码添加到AppDelegate.m文件

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
    {
        //Normal flow
    }
    else
    {
        //To show the tutorial
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];

        TutorialViewController* tutorialViewController = [[TutorialViewController alloc] init];
        [self.window setRootViewController:tutorialViewController];
    }
        return YES;
}

我的问题是我在应用程序的第一个午餐期间收到以下错误。

  

由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' * - [__ NSPlaceholderArray initWithObjects:count:]:尝试从对象[0]&#39插入nil对象;   * 首先抛出调用堆栈:

有人可以帮我解决这个问题吗?

干杯。

1 个答案:

答案 0 :(得分:0)

感谢Istvan的建议。我的错误在于PageViewController。我用以下代码替换行来调用视图控制器:

UIStoryboard * mainStoryboard = [UIStoryboard storyboardWithName:@“Main”bundle:nil];

ViewController controller =(ViewController )[mainStoryboard instantiateViewControllerWithIdentifier:@“firstViewController”];

[self.window setRootViewController:controller];

它有效:)

问候