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

У меня есть пошаговая игра, в которой есть 2 контроллера просмотра, главное меню и фактический игровой контроллер. Находясь на контроллере игрового представления, игрок может сделать свой ход, а затем получить доступ к Game Center в том же представлении. Затем, оказавшись в Game Center, они могут начать новую игру (или просмотреть другие игры, которые у них уже есть). Проблема, с которой я сталкиваюсь, заключается в том, что когда они решают начать новую игру, а Game Center закрывается, в представлении есть элементы из предыдущей игры. Как я могу начать новую игру или добавить в стек новый экземпляр игрового контроллера?


person Ryan Caskey    schedule 27.05.2014    source источник
comment
Вопрос не содержит достаточно подробностей, чтобы кто-либо мог дать полезный ответ. как зависит от структуры вашего приложения и от того, как вы хотите, чтобы оно работало.   -  person Austin    schedule 27.05.2014
comment
@Jason Все данные, которые мне нужно хранить, хранятся в Game Center. Все, что я действительно пытаюсь сделать, это загрузить совершенно новый вид, когда Game Center закрывается. По сути, когда Game Center закрывается, я хочу, чтобы произошло то же самое, что и при вызове viewDidLoad после выхода из главного меню.   -  person Ryan Caskey    schedule 27.05.2014


Ответы (1)


Мое предложение состояло бы в том, чтобы создать NSMutableArray. Каждый индекс массива может хранить экземпляр представления или контроллера представления, в зависимости от вашего алгоритма. При переключении между представлениями переключайтесь между индексами массива. Кроме того, если создается новая игра, создайте новый экземпляр представления или контроллера представления и добавьте его в массив. Потом при переключении между играми подтягивать другой индекс. Таким образом, одновременно представляется только один индекс, а различные представления изолированы друг от друга. Кроме того, вы можете архивировать данные для каждого представления в каждом индексе, поэтому, если представление удаляется с экрана, теоретически вы можете сохранить значения переменных экземпляра. Затем, когда пользователь вызывает это представление (или игру), создайте новый экземпляр представления или контроллера представления и заполните его переменные и настройки в соответствии с архивными данными.

person jfherrm    schedule 27.05.2014