У меня общая проблема, но я не могу найти правильный способ ее решения, я начну с самого начала.iOS: как изменить текущий UIViewController из пользовательского одноэлементного класса
Я создаю игровое приложение с игровым центром и сватовством. Я хочу получать и обрабатывать приглашения от друзей. Я сделал класс singleton, который обрабатывал все материалы Game Center. Прямо сейчас, я сомневаюсь в том, как обрабатывать приглашения (я имею в виду все приложение).
Мой синглтон обрабатывает его, и я сделал дополнительный протокол, который вызывает метод делегата при получении приглашения. Поэтому я решил реализовать этот протокол во всех своих UIViewControllers (я не знаю, как это сделать лучше, если вы знаете, что я очень признателен, если вы поделитесь своим опытом). Но теперь я застрял в проблеме, которая есть в названии. Мне нужно изменить свой UIViewController с текущего контроллера представления на «контроллер игрового представления» (он должен быть показан для игры). Я использую диспетчер навигации для своего приложения. Итак, есть ли способ изменить текущий контроллер представления на определенный контроллер представления из моего одноименного класса «Game Center stuff» или, по крайней мере, из текущего ViewController?
Например, я в контроллере представлений параметров, который поступает из главного контроллера меню (MainMenuVC → OptionsVC), и я получаю приглашение, и я принимаю его. Прямо сейчас я хочу перейти к «игровому контроллеру или GameVC», то есть местам в другом пути segue (MainMenuVC → Game ModesVC → GameVC).
Надеюсь, мой вопрос ясен, если нет, я предоставил изображения для объяснения, просто дайте мне знать в комментариях ниже. Я думаю, что этот вопрос довольно тривиален, и есть некоторые распространенные практики. Благодарю.
Вы правы, мой синглтон управляет всеми игровыми центрами такими вещами, как аутентификация, отправка и получение приглашений, сватовство. И я хочу изменить свой текущий ViewController (что бы это ни было) на мой контроллер игрового представления (где игрок принимает приглашение). Итак, вы правы, и я постараюсь выполнить ваше решение. –