Запуск перехода приводит к изменению вида только после того, как я нажму кнопку «Домой» и снова нажму на приложение. Раскадровка ios

Я делаю приложение для вызова в ios, используя pjsip.

У меня есть переход от контроллера представления к контроллеру панели вкладок.

когда я вызываю этот переход в следующей функции - (IBAction)endCall:(id)sender
(которая вызывается при нажатии на кнопку), все в порядке.

Но я также должен вызывать его в другое время: когда я получаю обратный вызов (от pjsip), что сеанс вызова был завершен (это в другом файле), я публикую уведомление и слушаю его в моем просмотреть класс контроллера. Затем я вызываю эту функцию endCall.

Проблема, с которой я сталкиваюсь, заключается в том, что при этом вид не меняется, он меняется только тогда, когда я нажимаю кнопку «Домой» и снова нажимаю на приложение.

Любая идея, почему это происходит?


person user2439977    schedule 14.06.2013    source источник


Ответы (1)


Возможно, это связано с тем, что пользовательский интерфейс в iOS обновляется только в основном потоке. Возможно, функция, в которой вы вызываете переход, каким-то образом блокирует основной цикл выполнения. См. NSTextField ожидает окончания цикла для обновления для получения дополнительной информации.

person Matthew Griffin    schedule 14.06.2013
comment
Большое спасибо. Вы поставили меня на правильный путь. Наконец, он работает с помощью функции PerformSelectorOnMainThread:withObject:waitTillDone:. Но я считаю, что проблема была в том, что вы сказали. Спасибо. - person user2439977; 17.06.2013