Objective-C.Почему Segue выдвигает новый viewController? - PullRequest
0 голосов
/ 17 мая 2018

У меня есть 2 просмотра:

  1. ViewController
  2. TableViewController

Когда я нахожусь в 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 голосов
/ 17 мая 2018

Вам нужно всего лишь

[self.navigationController popViewControllerAnimated:true];
0 голосов
/ 17 мая 2018

В вашем TableViewController вам нужно вернуться к предыдущему контроллеру представления.

[self.navigationController popViewControllerAnimated:true];

Segue всегда создаст новый контроллер представления и поместит его в верхний стек навигации OS в вашем случае.Вы можете использовать unwind segue вместо.

0 голосов
/ 17 мая 2018

Если это обычный переход, то будет создан новый экземпляр viewcontroller.Неважно, что целевой viewcontroller находится перед вашим tableviewcontroller в раскадровке.

Вместо этого вы должны использовать режим раскрутки.Или просто вернитесь к предыдущему контроллеру представления.

...