1

当我构建我的应用程序时,它编译时没有任何问题或错误。但是当我运行它时,我在控制台中看到了这条消息:

Application windows are expected to have a root view controller at the end of application launch.

这是我的 Appdelegate 的方法,我认为它可能会导致这种情况(基于我在 SO 上看到的其他帖子)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions

  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  // Override point for customization after application launch.
  self.window.backgroundColor = [UIColor whiteColor];


  PhotosViewController *viewController = [[PhotosViewController alloc] initWithNibName:nil bundle:nil];

  self.navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
  [self.window addSubview:self.navigationController.view];

  [self.window makeKeyAndVisible];

   return YES;

这是我需要担心的事情吗?即使出现此消息,我的应用程序也会在模拟器中运行。

关于我应该做些什么来摆脱它的任何建议?我能做些什么来调试这个?

顺便说一句,我在 SO 上看到了其他带有类似错误消息的问题,但是,没有一个场景适用于我的,所以我发布了这个问题。它不是重复的:)

谢谢

4

1 回答 1

3

代替:

[self.window addSubview:self.navigationController.view];

利用:

self.window.rootViewController = self.navigationController;

您可以在文档中找到更多详细信息UIWindow

于 2012-09-10T03:15:25.663 回答