Objective c 在哪里放置根控制器?

Objective c 在哪里放置根控制器?,objective-c,uitableview,uinavigationcontroller,Objective C,Uitableview,Uinavigationcontroller,我在xcode中为iPhone做的事情越来越好,但在这里我遇到了死胡同 我正在尝试构建一个包含两个视图的应用程序:主视图和设置视图。我希望能够在两者之间切换。因为我需要主视图中的每个像素,所以我构建了一个switchView类,当我按下一个按钮(比tabView小得多)时,它可以在两个视图之间切换,这很好 现在,我对开发有了更深入的了解,希望设置视图成为一个表视图,从中我可以导航到下一个详细级别。我以前做过,但是没有切换视图 我的问题是,我让表视图(在设置中)工作,但一旦我尝试推动我的视图控制器

我在xcode中为iPhone做的事情越来越好,但在这里我遇到了死胡同

我正在尝试构建一个包含两个视图的应用程序:主视图和设置视图。我希望能够在两者之间切换。因为我需要主视图中的每个像素,所以我构建了一个switchView类,当我按下一个按钮(比tabView小得多)时,它可以在两个视图之间切换,这很好

现在,我对开发有了更深入的了解,希望设置视图成为一个表视图,从中我可以导航到下一个详细级别。我以前做过,但是没有切换视图

我的问题是,我让表视图(在设置中)工作,但一旦我尝试推动我的视图控制器,什么都不会发生。在调试期间,我可以看到它通过代码工作(例如DidSelectRowatineXpath正在工作),但没有弹出新视图。没有任何错误消息

我将switchView添加到MainWindow.xib中,然后执行 [窗口添加子视图:switchViewController.view];在我的AppDelegate中加载主视图

我应该将表视图导航的根控制器放在哪里?因为我想这就是我的问题所在

下面的代码没有任何结果

ViewsAppDelegate *delegate =[[UIApplication sharedApplication] delegate];

    [delegate.settingsNavController pushViewController:settingsDetailViewController animated:YES];

很高兴有任何建议能引导我走上正确的道路。花了太多时间来解决这个问题。

我可能误解了你的意图,但让我试试

当您创建项目时,您应该已经启动并为您创建了MainViewController和AppDelegate。在我看来,从您提供的代码片段来看,它就像您从MainViewController中实例化了一个新的(可能是第二个)应用程序委托

与其这样做,我建议您将NavigationController向上移动一级到SDK提供的AppDelegate。然后在MainViewController中,将现有的AppDelegate添加为IBOutlet,并将它们全部绑定到IB中。完成此操作后,使用导航控制器应该会更加顺利

例如,我的MainWindow.xib有几个对象,我突出显示了我认为您可能关心的两个对象

*很抱歉链接-我还不能发布图片

然后,从我的AppDelegate中,我使用如下选项自定义我的应用程序IDFinishLaunching

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

  navController.viewControllers = [NSArray arrayWithObject:mainMenuController];

  // Override point for customization after app launch    
  [window addSubview:navController.view];
  [window makeKeyAndVisible];

  return YES;
}
这将使navController保持在最高级别(我认为它所属的位置),并允许您在整个应用程序中推送和弹出视图,同时保留堆栈上内容的历史记录

希望这能有所帮助——我可能完全误解了你的意思

祝你好运!
Bob

谢谢Bobby我想要实现的(即使我可能以错误的方式开始)是类似于苹果天气应用程序的东西。你有一个主屏幕,一旦你点击小i你进入设置屏幕。在该屏幕上,我希望有一个带有向下钻取导航的tableView。所以我从一个普通的基于Windows的应用程序开始,然后在两个视图之间切换。效果很好。但当我想在其中一个视图中添加向下钻取tableView时,我(现在仍然)被卡住了。也许我应该试试基于实用程序的模板…???我鼓励你考虑查看基于视图的模板,然后讨论如何使用导航控制器。网上有一些快速免费的软件(),如果你不介意花点钱($5),实用程序员那里的人有一个非常不错的iPhone SDK教程系列()。第二集将是完美的。有了这些知识,你应该能够很快地修改你所拥有的。祝你好运谢谢,我上周一定是脱水了什么的。一切都很顺利,但现在已经解决了。感谢您的回复和支持!