Не в иерархии представления только с 2 контроллерами представления?
У меня есть два контроллера представления, связанные друг с другом через segues. Когда кто-то нажимает кнопку, он переходит на viewcontroller2. В этой viewdidload я затем запускаю их обратно к исходному контроллеру представления, инициируя переход "backs" с этим кодом:
[self performSegueWithIdentifier: @"backs" sender: self];
Тем не менее, он продолжает отказываться от этого простого перехода, говоря, что мой контроллер представления находится вне иерархии? Есть только два контроллера представления, так что мне интересно, как это вообще возможно?
1 ответ
viewDidLoad
слишком рано Представление загружено, но еще не помещено в иерархию представлений. Вы хотите подождать, пока viewDidAppear
, Это первый момент, когда представление контроллера представления фактически является частью полной иерархии представления. (Даже тогда вам, возможно, придется использовать замедленную производительность; я не уверен.)
Другая проблема в том, что вы говорите, заключается в том, что если вы перейдете от контроллера A к просмотру контроллера B с помощью segue, вы не сможете вернуться с помощью обычного segue. Вы должны использовать новую функцию перехода "развернуть" или вернуться назад вручную (например, закрыть представленный контроллер, выдвинуть выдвинутый контроллер).