Iphone 在新启动屏幕后启动应用程序时出错

Iphone 在新启动屏幕后启动应用程序时出错,iphone,ios,Iphone,Ios,我在我的应用程序中添加了一个新的启动屏幕,它不再工作了。它添加了头文件.m和.xib文件 首先是错误: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*-[\u NSPlaceholderArray initWithObjects:计数:]:尝试从对象[0]插入nil对象” 这是控制器(我没有更改任何内容): 这是AppDelegate中的启动代码: - (BOOL)application:(UIApplication *)application

我在我的应用程序中添加了一个新的启动屏幕,它不再工作了。它添加了头文件.m和.xib文件

首先是错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*-[\u NSPlaceholderArray initWithObjects:计数:]:尝试从对象[0]插入nil对象”

这是控制器(我没有更改任何内容):

这是AppDelegate中的启动代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        self.viewController = [[StartViewController alloc] initWithNibName:@"StartViewController" bundle:nil];
    } else {
        //self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
    }
    self.window.rootViewController = self.viewController;

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
    self.window.rootViewController = navController;


    [self.window makeKeyAndVisible];
    //    [self.window addSubview:navController.view];

    return YES;
}
.xib名为StartViewController.xib,只有几个标签和按钮。还没有任何联系。我试图删除所有内容,但同样的错误发生了

我使用了调试器,它进入了新控制器的构造函数,还有viewdidload方法。异常在
[self.window makeKeyAndVisible]处抛出


如果我只是更改将新控制器连接到旧控制器的行
self.viewController=[[viewcontrolleralloc]initWithNibName:@“viewController\u iPhone”bundle:nil]应用程序再次工作


这是什么?它一定是非常基本的东西,但我找不到。

看起来像是与内存管理有关的东西。您正在使用ARC吗?如果我只是更改将新控制器连接到旧控制器的行
self.viewController=[[viewcontrolleralloc]initWithNibName:@“viewController_iPhone”bundle:nil]该应用程序再次工作。StartViewController nib文件存在于Xcode中,您确定它没有损坏吗?StartViewController.xib位于项目目录中(复制粘贴名称),我可以在设计器中正常打开它。尽管开始时文件添加在文件夹之外。我把它们移到文件夹里了。这可能是问题所在吗?我再加一次。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        self.viewController = [[StartViewController alloc] initWithNibName:@"StartViewController" bundle:nil];
    } else {
        //self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
    }
    self.window.rootViewController = self.viewController;

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
    self.window.rootViewController = navController;


    [self.window makeKeyAndVisible];
    //    [self.window addSubview:navController.view];

    return YES;
}