0
我的目標是異步執行資源佔用較大的操作,並確保在返回對象之前它已完成。確保異步操作中的循環在返回前完成
這是結構:
func modifyGadgets() -> [Gadget] {
var gadgetsToModify = [Gadget]() //this is already populated elsewhere
DispatchQueue.global(qos: .userInitiated).async {
//Do something to the original gadgets
for gadget in gadgetsToModify {
modifyThisGadget(gadget)
}
DispatchQueue.main.async {
return gadgetsToModify //I get a warning here saying gadgetsToModify is unused
}
}
}
除了警告,我還沒有得到任何的Gadget
項背。
我應該如何構造這個以便我能夠在完成後返回物品?
謝謝。
您需要在完成處理'@ escaping'。 –
謝謝你們兩位。這非常有幫助 – daspianist