Если 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)
}
}
После обновления Joomla до версии 3.6 или после чистой установки Joomla 3.6 возможно получения ошибки как на самом сайте (FrontEnd), так и в админке (BackEnd) сообщения об ошибке: Error displaying the error page: The file Cache Storage is not supported on this platform. Ситуация не приятная, но не все потеряно, и это можно легко исправить.
Иногда на первом ViewController необходимо не отображать NavigationBar, так как он он пустой (не имеет кнопок навигации). В Swift это можно сделать с помощью небольшого куска кода, вставленного в требуемый VeiwController внутрь функции viewWillAppear:
Процесс подготовки и обработки аэронавигационных данных должен выполнятся в соответствии с определенными критериями, которые будут гарантировать качество аэронавигационных данных. Умные "буржуи" собрались как-то вместе, организовали рабочую группу под эгидой RTCA и создали документ DO-200A/EUROCAE ED-76 "Standards for Processing Aeronautical Data". Российские авиационные власти и главные авиационные...
Современные сайты часто содержат множество мультимедийного контента, одной из разновидностью которой является flash-анимация (флэшка, флэш-ролик). Флэш ролик представляет собой swf-файл, внедренный в web-страницу. Флэш-анимация может быть как черно-белой, так и цветной, со звуком и без, размером пару килобайт и даже в несколько мегабайт. Некоторые анимации могут на столько понравиться посетителю сайта, что...
БД для EGPWS/TAWS "T2CAS" предоставляется компанией ACSS (Aviation Communication and Surveillance System) в своем бортовом формате, конвертация уже выполнена, и БД готова для загрузки в систему. Периодичность обновления – по факту выхода новой БД (примерно кардые 3 месяца). Сроки не совпадают с циклами AIRAC. При этом зарегистрированным пользователям на электронную почту приходит уведомление о том, что новая БД...
Фирма Jeppesen анонсировала выход в ближайшее время новой версии своего флагманского приложения для EFB на базе iPad - FD PRO v.2.5. PRO - подразумевает "Professional", таким образом Jeppesen старается угодить именно авиационным профессионалам, каждый раз подтверждая статус лидера в аэронавигационных услугах и продуктах. В этот раз разработчики Jeppesen учли максимальное количество замечаний и предложений...
Программы развертывания Apple - Device Enrollment Program (DEP) и Volume Purchase Program (VPP) с 1 декабря 2019 года перестанут существовать. Deployment Programs - DEP и VPP будут объединены в одну и их заменит единая программа - Apple Business Manager (для коммерческих компаний) и Apple School Manager (для образовательных учреждений). Для того, чтобы продолжить использование программой регистрации устройств (DEP) и программой...