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