0

在我的应用程序中,我有 2 类UIViewController. 这FirstViewController是一个具有此方法的视图,它将一个 uitableview 添加到控制器的视图中:

 -(IBAction)SetTabState:(id)sender{
    if (sender == History) {
            [self.view  addSubview:HistoryView];
    }
}

现在,在SecondViewController课堂上,我有 2 个选项可以返回。导航返回的第一个选项就是返回,效果很好:

[self dismissModalViewControllerAnimated:YES];

第二个选项导航回来并从SeconedViewController调出视图历史所以我正在尝试这样的事情:

[self dismissModalViewControllerAnimated:YES];
FirstViewController *Vc = [[FirstViewController alloc]init];
[Vc SetTabState:Vc.History];

事实是,从类中触发方法UIViewController是我从未理解过的。

4

1 回答 1

1

您需要在关闭模式之前传递信息。像这样的东西:

SecondViewController.m:
- (IBAction) secondButtonTouched:(UIButton)button {
  FirstViewController *fVC = (FirstViewController *)self.presentingViewController;
  [fVC SetTabState:History];
  [fVC dismissModalViewControllerAnimated:YES];
}

您需要获取对现有的引用FirstViewController,而不是创建新的引用。

注意:您应该为 SecondVC 传递一个弱引用(或委托/协议)以具有对 FirstVC 的引用,而不是假设presentingViewController是 type FirstViewController。我这样做是为了简化我的代码。

于 2012-11-08T20:24:36.817 回答