-1

大家好,我在从主文件显示 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]));
}

然后它崩溃了,有人知道吗?

4

3 回答 3

0

当应用程序将您带到main.m. 对我来说,这一直是我的错误,最常见的错误是 1) 文件不存在 ( Results1.xib) 或 2) 我忘记设置视图出口。正如我提到的控制台输出中异常的详细信息将对您有所帮助。

于 2012-08-10T17:54:45.423 回答
0

蒂姆,这是来自Interface Builder的图片,也许它可以帮助你:

在此处输入图像描述

于 2012-08-10T18:00:39.260 回答
0

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

 initWithNibName:@"YourNibName";

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

于 2012-08-10T19:43:51.177 回答