Mon objectif est d'effectuer une opération lourde en ressources de manière asynchrone et de m'assurer qu'elle est terminée avant de renvoyer les objets.Vérification de l'exécution de la boucle dans l'opération asynchrone avant de retourner
C'est la structure:
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
}
}
}
En plus de l'avertissement, je aussi ne reçoivent aucune des Gadget
articles de retour.
Comment est-ce que je devrais structurer ceci ainsi je suis capable de renvoyer les articles une fois qu'il est fini?
Merci.
Vous avez besoin '@ escaping' sur le gestionnaire d'achèvement. –
Merci à vous deux. C'est très utile – daspianist