Objective c 在核心数据项目中加载视图控制器时出现问题

Objective c 在核心数据项目中加载视图控制器时出现问题,objective-c,cocoa-touch,ios,core-data,xcode4,Objective C,Cocoa Touch,Ios,Core Data,Xcode4,我最近刚刚开始学习在XCode 4中使用核心数据,在核心数据项目中从应用程序委托加载我的第一个视图控制器时遇到了一个非常奇怪的问题。我真的不确定我做错了什么,只是我所做的在没有实现核心数据时效果很好,但在实现核心数据时效果不好 我发现appDelegate将加载,然后开始加载视图控制器(我可以让它记录它通过initWithNibName方法)。但是视图控制器消失了,我看到的只是主窗口。错误日志中没有生成错误 以下是appDelegate中的相关代码 - (BOOL)application:(UI

我最近刚刚开始学习在XCode 4中使用核心数据,在核心数据项目中从应用程序委托加载我的第一个视图控制器时遇到了一个非常奇怪的问题。我真的不确定我做错了什么,只是我所做的在没有实现核心数据时效果很好,但在实现核心数据时效果不好

我发现appDelegate将加载,然后开始加载视图控制器(我可以让它记录它通过initWithNibName方法)。但是视图控制器消失了,我看到的只是主窗口。错误日志中没有生成错误

以下是appDelegate中的相关代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // other code here

    UINavigationController *navigationController = [[[UINavigationController alloc]  init] autorelease];

    HomeViewController *viewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
    viewController.title = @"My Company";
    [navigationController pushViewController:viewController animated:NO];

    [window addSubview:navigationController.view];

    [viewController release];

    [self.window makeKeyAndVisible];
    return YES;
}
视图控制器目前基本上只有存根数据,但我可以根据请求发布任何方法。提前感谢您的帮助

更新:好吧,我终于让它自己工作了,尽管我不知道它为什么工作。我所做的只是将导航控制器作为app委托的属性删除,并在didfishlaunchingwithoptions方法中自动删除它。在那之后,它工作得很好。上面发布的代码最终起到了作用。但奇怪的是,我在另一个项目中尝试了同样的方法,但在那个项目中没有成功

下面是第二个项目的代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UINavigationController *navigationController = [[[UINavigationController alloc]  init] autorelease];
    StartViewController *viewController = [[StartViewController alloc] initWithNibName:@"StartViewController" bundle:nil];

    [navigationController setNavigationBarHidden:YES];
    [navigationController pushViewController:viewController animated:NO];

    [window addSubview:navigationController.view];
    [viewController release];

    [self.window makeKeyAndVisible];
    return YES;
}

尝试以下不同的方法:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  HomeViewController *viewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
  viewController.title = "My Company";
  [navigationController pushViewController:viewController animated:NO];

  [viewController release];

  [window addSubview:navigationController.view];
  [self.window makeKeyAndVisible];
  return YES;
}

@卡尔顿·史密斯:问题!navigationController在哪里定义它?它与一个
IBOutlet
相连吗?如果你看看现在贴在那里的代码,这就是我最后要做的。我没有将导航控制器与IBOutlet连接。