我是新來的異步和同步機制。 在我的代碼中,我必須在另一個完成後才執行一個代碼行。 它看起來是這樣的:如何使一個代碼在另一個在Swift中完成後運行
func something(){
let workerQueue = DispatchQueue.global(qos: .userInitiated)
workerQueue.async{
let info = getInfoFromTheWeb()//I need the info value in order to perform the next line
saveToDB(info: info)
DispatchQueue.main.async {
//update a label text in the ui after getting and saving that info
}
}
}
你的專業的想法,請..
剛經歷GCD的概念以及它如何工作[這裏](https://www.raywenderlich.com/148513/grand-central-di spatch-教程迅速-3-部分-1)。你會自己找到答案肯定:) –
行是一個接一個執行的,有什麼問題?是'getInfoFromTheWeb'異步?看起來不是這樣,你已經在一個單獨的線程上,你可以執行同步請求。這意味着當達到'saveToDB'時,Web信息已經存在。 – luk2302
我認爲你的概念/問題與完成處理程序的使用有關[在這裏](https://grokswift.com/completion-handlers-in-swift/)是一個很好的教程! –