我需要進行異步調用,以便第二個方法只在第一個方法完成後調用。兩種方法都是網絡調用。事情是這樣的:Asynchronous swift 3
signIn()
getContacts()
我想確保getContacts完成簽到後,只有被調用。 FWIW,我無法編輯方法簽名,因爲它們來自Google SDK。
這是我的嘗試:
let queue = DispatchQueue(label: "com.app.queue")
queue.async {
signIn()
getContacts()
}
好。什麼是真正的問題? – JeremyP
通常,方法(例如'signIn')會傳入一個方法結束後調用的閉包,例如:'signIn(){getContacts()}',儘管此方法必須重新設計。 – Robert