Objective-C的。为什么Segue推出一个新的viewController?

时间:2018-05-17 08:52:34

标签: ios objective-c uistoryboardsegue

我有2个观点:

  1. 的ViewController
  2. TableViewController
  3. 当我在tableViewController中时,我需要Segue引导我回到上一个视图,但它不断创建ViewController的新副本。

    我需要Segue让我回到最后一个没有克隆的观点。

    enter image description here

    TableViewController.m

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        NSString *identifire = [sender text];
        ViewController* vc = (ViewController*)segue.destinationViewController;
        [vc view];
        [vc hideElements:identifire];
    }
    

3 个答案:

答案 0 :(得分:3)

如果它是一个常规的segue,那么将创建一个新的viewcontroller实例。将目标视图控制器放在故事板中的tableviewcontroller之前并不重要。

您应该使用展开segue。或者只是回到上一个viewcontroller。

答案 1 :(得分:1)

TableViewController中,您需要弹回以前的视图控制器。

[self.navigationController popViewControllerAnimated:true];

segue将始终创建一个新的视图控制器并将其推送到您的案例中的顶级操作系统上。您可以改为使用unwind segue

答案 2 :(得分:0)

你只需要

[self.navigationController popViewControllerAnimated:true];