1

アプリケーションのウィンドウに tabbarcontroller を追加するアプリケーションがありました。tabbarcontroller には、対応するビュー コントローラーが接続されているナビゲーション コントローラーを持つ 2 つのタブ バー項目がありました。タブバーコントローラーのナビゲーションコントローラー内にある特定のビューコントローラー。私はこのようにやっていますが、役に立ちません:

NSArray *mycontrollers = self.tabBarController.viewControllers;
NSLog(@"%@",mycontrollers);
self.secondviewcontroller=(SecondViewController *)[mycontrollers objectAtIndex:1];
self.secondviewcontroller.var=self.var;

しかし、それはいくつかのエラーメッセージをスローしました

-[UINavigationController setvar:]: unrecognized selector sent to instanceこのナビゲーションコントローラーの階層から特定のビューコントローラーを実現する方法を理解するのを手伝ってくれる人はいますか?

4

1 に答える 1

1

試す:

NSArray *mycontrollers = self.tabBarController.viewControllers;
NSLog(@"%@",mycontrollers);
UINavigationController *nvc = [mycontrollers objectAtIndex:1];
self.secondviewcontroller=(SecondViewController *)[nvc topViewController];
self.secondviewcontroller.var=self.var;

アプリがクラッシュした理由self.tabBarController.viewControllers;は、ナビゲーション コントローラーが返されたためです。

于 2013-10-01T13:44:49.377 に答える