Я использую 2 разных API, у меня проблемы с логикой контроллера представления. Первый API — это Quickblox, так как они требуют загрузки в первую очередь, что я и делаю в AppDelegate.m в didFinishLaunchingWithOptions. Это работает правильно. Когда я пытаюсь перейти на второй API, у меня возникают проблемы.
Первая ошибка: «NSInvalidArgumentException», причина: «Storyboard () не содержит контроллер представления с идентификатором «sightingsTableViewController»
Чтобы исправить это, я добавил «sightingsTableViewController» в раскадровку. Перешел к контроллеру SightingsTableView, затем добавил «sightingsTableViewController» к идентификатору идентификатора раскадровки. Это исправило ошибку...
Приложение пошло немного дальше и получило вторую ошибку журнала:
... вложенная анимация push может привести к повреждению панели навигации
... Несбалансированные вызовы для начала/завершения перехода внешнего вида для . Завершение навигационного перехода в неожиданном состоянии. Дерево подпредставления панели навигации может быть повреждено. Верно к ошибке, когда я пытался вернуться к предыдущим экранам, я получаю дамп стека с ошибкой:
Несбалансированные вызовы для начала/окончания переходов внешнего вида для
Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «Невозможно добавить себя в качестве подпредставления». Раскадровка. Логика контроллера представления неверна, и хотелось бы лучше понять, как это исправить.
Я могу заставить SightingsTableViewController отображаться после того, как я изменил задержку на 3 секунды.
[self performSelector:@selector(showProximityServicesSwitchViewAndNavigationBar) withObject:nil afterDelay:1.0];
[самостоятельный селектор: @селектор (инициализироватьFyxService) withObject: nil afterDelay: 3.0];