1
我剛剛開始學習在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;
}
相關的代碼的視圖控制器基本上只具有的時刻在存根它數據,但我可以根據請求發佈的任何方法。預先感謝您的幫助。
更新:嗯,我終於得到這個工作在我自己的,但我不知道它爲什麼工作。我所做的只是將導航控制器作爲應用程序委託的屬性移除,並在didFinishLaunchingWithOptions方法中將init自動釋放。之後,它工作得很好。上面貼出的代碼是最後的工作。奇怪的是,儘管如此,我在另一個項目中嘗試了同樣的事情,但它並沒有在那個項目上工作。
下面是從第二個項目
- (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;
}
謝謝。只是試了一下,得到了同樣的結果。 – unclesol 2011-04-20 18:24:27
@Carlton Smith:問題! navigationController你在哪裏定義它?它是與一個'IBOutlet'連接的嗎? – 2011-04-20 20:15:58
如果你看看現在發佈的代碼,那我終於可以開始工作了。我沒有將導航控制器連接到IBOutlet。 – unclesol 2011-04-20 23:48:15