Это может звучать как дубликат, но мне нужно более глубокое понимание и объяснение моего сценария, пожалуйста.Как использовать общий экземпляр UIViewController в Xcode?
В моем приложении у меня есть один InfoViewController, который представляет информацию при вызове (нажатии) из другого контроллера, например: 1) HomeViewController, 2) FavouriteViewController и 3) DownloadViewController. Все 3 проведено UITabViewController
InfoViewController имеет около 10 кнопок и соответствующих действий. Я использую отдельный синглтон для хранения всех информационных объектов.
Все 3 ViewController (Проводит TabVC) -> Грузы возражают Singleton -> InfoViewController использует, что Present Деталь Info
HomeViewController - Его для новой 'Info', чтобы представить, что меняется каждый день Когда информация присутствует,
пользователь может отметить это как избранный, а затем перечислил (в UITableView
) на FavoriteViewController. Пользователь может сохранить его в телефоне для дальнейшего использования, который будет указан (в UITableView) на DownloadViewController.
При выборе ячейки все 3 представляет данные с помощью InfoViewController.
Теперь я хочу представить только один экземпляр InfoViewController, чтобы он был видимым для пользователя. Не все во всех 3 вкладках. В настоящее время я переключу его обратно на главный экран с помощью метода ViewDidDisappear
. Это работает только тогда, когда я добавляю InfoViewController в качестве дочернего элемента в основной 3 VC. Не путем толчка.
Теперь моя проблема, я пытался использовать Appdelegate
для инициализации объекта SharedInfo
sharedInfo = [InfoViewController alloc]init]
, но он идет на черный экран. Я должен инициализировать его как
[self.storyboard instantiateViewControllerWithIdentifier:@"InfoViewController"];
, но это не допускается в AppDelegate
или сделать общий экземпляр на самом InfoViewController.
Как достичь только одного экземпляра, представляемого пользователю одновременно?
Вы считаете, что у вас есть только один, который вы передаете в качестве ссылки на все, что ему нужно. Или создайте контроллер, которому вы отправляете сообщения, где бы вы ни нуждались? Честно, однако, это нарушает, как эти вещи предназначены для строительства. –