Я новичок в быстрой работе, и на этой неделе я столкнулся с проблемой, которая уже заставляет меня сорвать мои волосы!
Что происходит, так это следующее, разделенное на мое приложение в нескольких классах, чтобы оставить мой код более «чистым», и в этой волне я решил разделить некоторые функции на классы по проекту, но пока все хорошо.
Проблема в том, как Swift обрабатывает очереди выполнения, оставляя за собой все, чего нет в моем ViewController, что мешает мне.
Я покажу вам некоторые из кода, чтобы вы могли лучше расширить то, что я говорю.
Функция кнопки моего ViewController:Порядок выполнения принудительного действия - Swift3/Xcode8 - Темы
@IBAction func btnLogin(_ sender: UIButton) {
//The line that the Swift "skips"
let dadosAlunoWS = FadbaWS.buscaAluno(matricula: MatriculaTbox.text!, senha: SenhaTbox.text!, token: "TOKEN")
//'dadosAlunoWS' aways empty because 'FadbaWS.buscaAluno'
//is only performed at the end of 'btnLogin'
if dadosAlunoWS.sucesso && dadosAlunoWS.usuarioEncontrado{
print(dadosAlunoWS.name)
}else{
//Error on request
}
}
Я знаю концепцию параллелизма и параллелизма и исследования я был в состоянии понять, что это Свифт родной приоритеты интерфейса, который делает все жидкости, но моя проблема что моя функция FadbaWS.buscaAluno никогда не выполняется и, следовательно, никогда не возвращает действительное значение.
Как я могу отдать приоритет, чтобы мой код выполнялся только после выполнения этой функции?
Как обрабатывать DispatchQueue в Swift?
Прямо сейчас, благодарный!