0

3 つの ViewController があります。

RootViewController
FirstViewController
SecondViewController

RootViewController から、他の 2 つの ViewController を使用して TabBarController を作成します。だから私は次のようなことをする必要があります:

 FirstViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];

 SecondViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

次に、コントローラーを TabBarController に追加します。その瞬間、2 つの ViewController がインスタンス化されます。

データを更新するには、これを自分で試しましたFirstViewController.m

SecondViewController *test = [[SecondViewController alloc] init];
 [test.tableView reloadData];

しかし、SecondViewController が以前に割り当てられていて、その新しいインスタンスを作成しているため、何も起こらないと思います。

FirstViewController から SecondViewController のテーブルのデータを更新するにはどうすればよいですか?

4

4 に答える 4

-1

これはあなたを助けるでしょう。この方法で secondViewController にアクセスできます。

UITabBarController *tabController = (UITabBarController *)[self parentViewController];

[tabController.viewControllers enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

    if ([obj isKindOfClass:[SecondViewController class]]) {
        SecondViewController *secondController = obj;
        [secondController.tableView reloadData];
       *stop = YES;

    }

}];
于 2013-07-02T16:24:18.223 に答える