xCode - UIKeyboardTaskQueue may only be called from the main thread

Если xCode при компиляции проекта ругается на часть кода и выдает ошибку, например, такую: 

 

Thread 4: Exception: -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.

 

Это означает, что данный кусок кода должен выполняться в главном потоке, а не в дополнительном.

Для исправления ситуации нужно поместить этот кусок кода внутрь блока DispatchQueue.main.async.

Так:

DispatchQueue.main.async(execute: {
// здесь вставить свой код
 })

 Или (сокращенный вариант) так:

DispatchQueue.main.async {

                    // здесь вставить свой код

                }

 

 Пример:

 

            do {

                let json = try JSONSerialization.jsonObject(with: data, options: [])

                                

                let myRequest = try JSONDecoder().decode(MyRequest.self, from: data)

        

        // токен и имя тогда можно получить так:

                var myToken = myRequest.token

                var myName = myRequest.callsign

                

        // отобразить Username и токен в интерфейсе (для отладки):

                DispatchQueue.main.async(execute: {

                    self.usernameLabel.text = String(myName)

                    self.tokenLabel.text = String(myToken)

                })

                                

            } catch {

                // модальное окно - если не верные логин-пароль:

                DispatchQueue.main.async {

                    let modalWindow = UIAlertController(title: "Login Error", message: "Username or password is wrong :( ", preferredStyle: .alert)

                    let okButton = UIAlertAction(title: "Close", style: .default) {

                        (ACTION) -> Void in

                    }

                    modalWindow.addAction(okButton)

                    self.present(modalWindow, animated: true, completion: nil)

                }

               

            }

         

Комментарии (0)

Здесь не опубликовано еще ни одного комментария

Оставьте свой комментарий

  1. Опубликовать комментарий как Гость.
0 Значки
Вложения (0 / 3)
Поделитесь своим местоположением

      Выборка из БД ARINC424 по любым столбцам
      Выборка из БД ARINC424 по любым столбцам

      Аналогично программе для получения выборки из БД в формате ARINC-424 по коду раздела (5 колонка) и коду подраздела (6 или 13 колонка), данная программа позволяет делать более сложные выборки - с учетом значений любых столбцов базы данных. Программа позволяет сделать любую выборку по заданным пользователем параметрам, точнее по значениям, введенным в любой столбец - хоть во все 132. В приведенном примере сделана выборка из БД -...




      Jeppesen Text Viewer
      Jeppesen Text Viewer

      Программа Jeppesen Text Viewer - это электронная замена текстовой и графической информации, содержащейся в передней (без графики) части сборников Jeppesen. Jeppesen Text Viewer предлагается как бесплатная опция для клиентов, пользующихся сборниками Jeppesen - это выгодно для клиентов, пользующихся бумажными носителями аэронавигационной информации.




      Как узнать IP-адрес сайта
      Как узнать IP-адрес сайта

      В сети интернет есть несколько сервисов, которые могут сообщить IP-адрес сайта. Зачастую, эти сайты кроме ввода имени домена требуют ввести капчу, иногда имя и адрес электронной почты... - вот такая бюрократия! Для того, чтобы определить IP-адрес DNS-сервера, к которому относится сайт, точнее его доменное имя, и без ввода всяких дополнительных даных, существует несколько способов. Самый простой - это через...




      Восхождение на восточную вершину горы Эльбрус с флагом авиакомпании Волга-Днепр
      Восхождение на восточную вершину горы Эльбрус с флагом авиакомпании Волга-Днепр

      Сейчас я уже не помню точно, да это и не важно - с чего все началось…, но в итоге образовалась инициативная группа из 7 человек с твердым намерением совершить восхождение на гору Эльбрус. В целях получения финансовой поддержки было подготовлено письмо и передано руководству нашей организации, в которой мы осуществляем свою трудовую деятельность с предложением в очередной раз прославить (в...




      Фразы со словом FROM
      Фразы со словом FROM

      Фразы и выражения, в которых используется слово FROM, использование их в повседневной английской речи и сравнение с русскими аналогами. 1. FROM HAND TO HAND (досл.: «от руки к руке»). По-русски это означает: от одного (человека) к другому, из рук в руки.Пример: The book was passed from hand to handКнигу передавали из рук в руки.




      Программа для пересчета координат СК-42 - WGS-84
      Программа для пересчета координат СК-42 - WGS-84

      Как гласит библейская легенда (не смотря на то, что в ней множество нестыковок, как и во всей библии - по мнению французского писателя Лео Таксиля), что при строительстве Вавилонской башни произошло нечто, и все люди стали говорить на разных языках - и из-за этого башню не удалось построить. Так и в авиации до сих пор существуют атавизмы - различные геодезические модели земного шара,...




      Как показать GPS-трек на Яндекс-картах
      Как показать GPS-трек на Яндекс-картах

      Если вы проложили маршрут до некой точки, записав для этого GPS-трек, и вам необходимо публично поделиться этой информацией - как проехать до этого места назначения (охотничий домик, турбаза в лесу далеко за городом или просто домик в маленькой деревне в глухой провинции, и др...), то вы обязательно захотите показать этот трек на карте. Вариантов тут может быть несколько, а основных только два: используя...



Яндекс.Метрика