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