Невозможно перемещаться между ViewControllers - PullRequest
0 голосов
/ 21 марта 2019

Мое приложение загружает данные, и когда данные загружаются, я пытаюсь отправить пользователя обратно в основной ViewController приложения, но он не работает.

Код:

   UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
    Full_Sync *fullSyncController = [storyboard instantiateViewControllerWithIdentifier:@"ViewControllerROOTIdentifier"];
    [self.navigationController pushViewController:fullSyncController animated:NO];

Метод вызывается во время работы NSlog, но этот код, похоже, не работает. Код прекрасно работает в других частях приложения. Не уверен, почему это не сработает.

1 Ответ

1 голос
/ 22 марта 2019

Обязательно вернитесь в основной поток после получения результата от API. Сетевые вызовы - это асинхронные задачи, выполняемые в другом потоке, и, поскольку вам нужно выполнить какое-либо действие, связанное с пользовательским интерфейсом, в основном потоке, вам нужно сделать это (Objective-C):

dispatch_async(dispatch_get_main_queue(), ^{
   // Perform your transition here.
});

Вам также необходимо убедиться, что контроллер представления, который выполняет переход, вставляется в UINavigationController!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...