2011-08-09 11 views
0

uitableviewcontrollerサブクラスから一部のビューコントローラをプッシュしようとすると、異常なアプリケーションの動作が発生します。UINavigationController pushViewController from tableViewControllerサブクラス

まず説明します。私はnavigationControllerの中にあるrootViewController(appDelegate)にリンクされているメイン・ペンを作成しました。

nib connections

私は何を取得怒鳴るのコードを実行しようとすると:それはスクリーンショットに示されているようにそのペン先AでUITableViewおよびカスタムUITableViewControllerサブクラスNews_TableViewControllerを追加した

My_WebView *webView = [[My_WebView alloc] initWithNibName:@"My_WebView" bundle:nil]; 
[self.navigationController pushViewController:webView animated:YES]; 

を次に私はself.navigationControllerオブジェクトをチェックしましたが、NULLを返します:

NSLog(@"OBJ: %@",self.navigationController); 

私はどうですか?私のカスタムクラスにもかかわらずnavigationControllerへの参照を取得して実際にnavigationControllerの下に住んでいる?あなたが言及してきたように

おかげ

+0

tableViewControllerのどのメソッドでwebViewをプッシュしていますか? – Akshay

+0

私はviewForFooterInSectionメソッドでこれを使用しました。しかし、他の場所では動作しません。 NSLog(@ "%@"、self.navigationController)は常にNULLを返します。 –

+0

まず、TableViewControllerサブクラスのviewDidLoadメソッドにブレークポイントまたはNSLogを配置する必要があります。それはヒットですか? – Akshay

答えて

2

、News_TableViewControllerはそれゆえのUITableViewController、のUIViewControllerです。私はあなたがnavControllerを初期化しなかったと思います!

RootViewControllerがNews_TableViewControllerクラスです
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
RootViewController *rootViewController = [[RootViewController alloc]init]; 
_navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 
self.window.rootViewController = self.navigationController; 
[self.window makeKeyAndVisible]; 
return YES; 
} 

を:推奨される方法は、以下のようにあなたのappDelegateクラスのデリゲートメソッドでnavigationControllerを初期化することです。

+0

私はあなたが言っていることを理解していますが、ここではそうではありません。 appDelegateでは次のようにします:navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];ここでself.viewControllerはxibを持つUIViewControllerです。さて、あなたは私の質問で画像に表示されているように、そのxibで私はNews_TableViewControllerを定義しました... –

+0

私はこれを間違っている? –

+0

あなたが言ったように私はそれをしました。 UIViewControllerを必要とせず、代わりにNews_ViewControllerをプッシュしました。今すぐ動作します。しかし、私のやり方ではうまくいきませんでした。明らかに私は何かを間違って設定しました...ありがとう! –

関連する問題