1

XCode 4.5.1 のテンプレートを使用してシンプルなタブ バー アプリを作成し、app_delegate で次のような 2 つのビュー コントローラーを作成しました。

self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[viewController1, viewController2];
self.window.rootViewController = self.tabBarController;

viewController1 には、いくつかのログイン/ログアウト ボタンを書き出すインスタンス メソッドがあります。コールバックの 1 つは app_delegate にあり、viewController1 でインスタンス メソッドを呼び出したいと考えています。私はこれを試しました:

[[self.tabBarController.viewControllers objectAtIndex:0 ] renderButton];

しかし、それは機能していません。このタイプのクエリは可能ですか、それとも他の手法を使用する必要がありますか?

thx事前に

4

1 に答える 1

1

あなたが書いたものはうまくいくはずです。キャストは必要ありません (ただし、コードが読みやすくなります)。呼び出されていないことが確実な場合renderButton(このメソッドにブレークポイントまたは NSLog メッセージを入れる)、FirstViewController のヘッダー ファイルで宣言するのを忘れていると思います。

@interface FirstViewController : UIViewController
-(void)renderButton;
@end
于 2012-10-25T20:15:51.050 に答える