Не удается обновить ViewController из UIAlertController внутри ViewController

#swift #xcode #ios12

#swift #xcode #ios12

Вопрос:

Я пытаюсь создать (только для изучения ios) простой тест. Игра состоит из 13 вопросов. Пользователь может ответить двумя кнопками, одной для true, а другой для false. При каждом ответе обновляется индикатор прогресса, оценка и ответ. После 13-го ответа выдается предупреждение, информирующее пользователя о том, что он дошел до последнего вопроса, и единственный доступный вариант позволяет перезапустить игру.

Без UIAlertController механизм перезапуска работает отлично. А также с UIAlertController, использующим точку останова, кажется, что каждая переменная обновляется правильно, но пользовательский интерфейс вообще не обновляется. Еще одна странность заключается в том, что пользовательский интерфейс не обновляется, пока пользователь не нажмет на ответ. При нажатии (перед выпуском) на кнопку ответа применяются обновления, и когда кнопка отпущена, игра переходит ко второму ответу. Затем все работает до тех пор, пока UIAlert не будет показан снова.

Пожалуйста, взгляните на это репозиторий

Вот gif с возникающей проблемой: gif. Как вы можете видеть после нажатия кнопки «Перезапустить», пользовательский интерфейс не обновляется, пока я не нажму на кнопку. И после нажатия приложение сразу показывает второй вопрос. Первый вопрос отображается только при нажатии кнопки.

Попробовал последнюю версию xcode для ios 12.1 iphone 8 на mojave.

Комментарии:

1. Я попробовал ваше приложение, создав его с помощью Xcode 10.1 и запустив на симуляторе iPhone 8 (iOS 12.1). Я не вижу проблемы, которую вы описали.

2. Я согласен с @PhillipMills. весь пользовательский интерфейс обновляется при отклонении предупреждения

3. попробовал на двух разных Mac и столкнулся с той же проблемой, ios 12.1, симулятор iphone 8, xcode 10b и 10.1