0

Хорошо, это довольно просто с раскадрой, чтобы один viewController создал segue для другого viewController. Просто управляйте щелчком и перетаскивайте с одного viewController на другой.Как настроить segue для viewController, чтобы представить себя

Как создать сегмент, либо в раскадровке, либо программно, чтобы вызвать или представить другой экземпляр самого себя?

Зачем мне это нужно?

В настоящее время у меня есть viewController с UICollectionView, представленный из данных в простом одномерном массиве объектов. Когда я выбираю элемент, он представляет элемент viewController для этого элемента.

Что я хочу сделать, это изменить мои данные по организационным причинам, чтобы объекты в массиве имели массив объектов, таких как исходный массив данных, как папку с подпапками. Мне кажется разумным, что просто обновление того, на что указывает источник данных, и вызов одного и того же самого viewController для отображения следующего уровня должны быть относительно тривиальными. Когда закончите, просто отбросьте уровень и станьте правым, где вы остановились.

Кажется нетривиальным для перетаскивания щелчка с viewController на себя. До использования раскадровки и segues, это было бы сделано, просто представляя Contoller. Каков наилучший способ сделать это с помощью раскадровки и segues?

Да, это МОЖНО, возможно, сделать, манипулируя источником данных и просто перерисовывая текущий viewController, но похоже, что ДОЛЖНО быть более чистым, чтобы просто вызвать viewController с указателем в под-массив, как если бы он был верхним -level и повторно представить один и тот же viewController, позволяя стеку диспетчера представления управлять отдельными уровнями без необходимости перерисовывать модель из разных начальных точек и запоминать начальные точки в каком-то стеке.

Любые советы по наилучшему способу сделать это?

ответ

0

Очевидно, вы не можете вызывать или представлять свой контроллер просмотра на себе. Вероятно, это связано с тем, что UIKit не является повторным или потокобезопасным. Итак, Apple не позволяет вам использовать segue или использовать presentViewController с аргументом self (или что-либо, что разрешает самостоятельно).

Жаль, так как было бы неплохо, если бы не было создано контоллера суб-вида, который выполняет все те же действия, что делает viewController.

Если кто-то знает лучший способ сделать это, напишите ниже.