加载xib崩溃应用程序

时间:2012-08-10 17:37:46

标签: objective-c xcode addsubview

大家好,我在显示主文件中的xib文件时遇到问题,不知道为什么会发生这种情况,而不是其他xib文件。

if(segment == @"1"){
    Results1 *myView1 = [[Results1 alloc]initWithNibName:@"Results1" bundle:nil];
    [self.view addSubview:myView1.view];
}else if(segment == @"2"){
    Results2 *myView2 = [[Results2 alloc]initWithNibName:@"Results2" bundle:nil];
    [self.view addSubview:myView2.view];
}else if(segment ==@"3"){
    Results3 *myView3 = [[Results3 alloc]initWithNibName:@"Results3" bundle:nil];
    [self.view addSubview:myView3.view];
}else if(segment ==@"4"){
    Results4 *myView4 = [[Results4 alloc]initWithNibName:@"Results4" bundle:nil];
    [self.view addSubview:myView4.view];
}

我的代码是第一个xib文件打开但其余的我不知道为什么,我添加了.h文件:

#import "Results1.h"
#import "Results2.h"
#import "Results3.h"
#import "Results4.h"

在调试时,应用程序会在此行结束:

@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([TestTypingToolAppDelegate class]));
}

然后它崩溃了,任何人都有任何想法?

3 个答案:

答案 0 :(得分:0)

当应用程序将您带到main.m中的那一行时,您需要查看控制台输出。对我而言,我最常犯的错误是1)文件不存在(Results1.xib)或2)我忘了设置视图插座。正如我所提到的,控制台输出中的异常细节将对您有所帮助。

答案 1 :(得分:0)

蒂姆,这是来自界面生成器的图片,也许它可以帮到你:

enter image description here

答案 2 :(得分:0)

请记住,有时加载视图会在设备上崩溃,但模拟器不会崩溃。在这种情况下,请检查以确保在您致电时:

 initWithNibName:@"YourNibName";

你的nib名称字符串的大小写与nib文件完全相同。模拟器忽略了案例,但设备需要完全匹配(非常恼人)