程序基本上只是在两个视图之间切换。我正在尝试学习如何创建一个多视图应用程序。
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
FirstViewController *aView = [[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil];
self.firstView = aView;
[window addSubview:firstView.view];
self.window.rootViewController = aView;
return YES;
}
我收到一条错误消息“应用程序在应用程序启动结束时应该有一个根视图控制器”。我添加了行“self.window.rootViewController = aView;”那个错误就消失了。现在,我的应用程序将从视图1切换到视图2(它始终能够执行此操作)但是当尝试切换回来时它会崩溃。我得到的唯一输出是“(11db)”。它将我带到一个带有大量内存地址的屏幕,并以绿色突出显示以下内容:
0x10dc09b: movl 8(%edx), %edi
它说“线程1:EXC_BAD_ACCESS(代码= 2,地址)”
我不知道如何解释这个输出。我在youtube上关注了一系列视频指南来创建这个程序。我做了两次以确保我做的一切都正确(我做了)。如果您想要我做的所有事情,这些指南被称为“xcode教程#3第1/3部分:多视图应用程序”。
我非常困惑。似乎没有其他人遇到问题。
答案 0 :(得分:0)
在您的窗口可见之前,您应该设置它的根视图控制器。
试试这个:
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
FirstViewController *aView = [[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil];
self.firstView = aView;
self.window.rootViewController = aView;
[self.window makeKeyAndVisible];
return YES;
}
如果您想要查看多个视图,请在 RootViewController的 * viewDidLoad *中写入条件,然后您可以重定向到另一个视图。
你还有什么疑问告诉我。
一切顺利!!!