【问题标题】:need help understanding my error on my first iPhone app [duplicate]需要帮助了解我在第一个 iPhone 应用程序上的错误 [重复]
【发布时间】:2012-10-26 13:51:09
【问题描述】:

可能重复:
applications expected to have a root view controller console

我正在尝试按照一本书一步一步地构建第一个应用程序,但我想我犯了一个错误。 这是一个简单的视图应用程序,只有一个徽标和一个标签,然后我单击构建并运行,它说“构建成功”,但是当 ios 模拟器弹出时,应用程序仍然是空白的,即使我回家并把应用程序绑起来什么也没有改变。 我在调试窗口看到这条语句:

2012-10-26 04:07:03.376 welcome[1219:c07] 应用程序窗口应在应用程序启动结束时有一个根视图控制器

据我了解,我的应用缺少根视图控制器,但我该如何实现呢?

【问题讨论】:

  • 这意味着你还没有设置你的应用程序 rootViewController ... 显示你的 didFinishLaunchingWithOptions: 方法体 ....它应该看起来像 @NSPostWhenIdle 示例 -
  • 事实上我在 didfinishlaunchinfwithoptions 上看不到我的视图控制器:BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]]; // 应用程序启动后自定义的覆盖点。 self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible];返回是;

标签: iphone ios xcode sdk interface-builder


【解决方案1】:

您在 appDelegate 类中指定根视图控制器。它应该看起来像这样:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    self.viewController = [[[ViewController alloc] initWithNibName:@"theNameOfMyXib" bundle:nil] autorelease];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

您需要添加的重要行是:

self.viewController = [[[ViewController alloc] initWithNibName:@"theNameOfMyXib" bundle:nil] autorelease];
self.window.rootViewController = self.viewController;

然后在 initWithNibName 下输入创建界面的 xib 的名称。

注意:如果您的项目未使用 ARC,请仅添加 autorelease

【讨论】:

  • 谢谢,我的根视图控制器是这个。它和你的有点不同。 #import "AppDelegate.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // 应用程序启动后自定义的覆盖点。 self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible];返回是; }
  • 我编辑了我的 appdelegate 添加了您推荐的行,但它显示了一些错误。这里我有这些错误的屏幕截图:imageshack.us/photo/my-images/716/errorviewcontroller.png ARC 是什么?很抱歉给您带来了困扰。
  • 对于低质量的 img 感到抱歉。您无法读取错误。这里我上传了一个质量更好的:imageshack.us/a/img267/6672/errorviewcontroller.png
  • 谢谢。我用我的替换了你的那 2 个文件,但它给了我一个关于找不到 ViewController.h 的错误(实际上我没有),顺便说一句,只要 dropbox 不再下降,我就会更新项目,所以也许你可以看到问题。
猜你喜欢
  • 2012-12-06
  • 1970-01-01
  • 2017-09-20
  • 1970-01-01
  • 2020-08-30
  • 2015-07-06
  • 2018-08-11
  • 2020-08-06
  • 2019-09-12
相关资源
最近更新 更多