Je suis nouveau à Swift et je construis une petite application qui transfère des données HealthKit vers un service web auto-construit. Je placé un UIProgressView dans mon Main.storyboard et connecté à ViewController.swift:Définition de UIProgressView à partir de tâches en arrière-plan asynchrones
@IBOutlet weak var syncHealthProgress: UIProgressView!
depuis une action il y a 6 appels à un webservice via plusieurs étapes en dehors du ViewController. D'abord, je récupère les données de santé qui sont faites en arrière-plan (HKStatisticsCollectionQuery). Dans la tâche de fond, je prends le résultat et fais un appel API avec les données (URLSession) qui sont aussi asynchrones. Ce que je veux faire: à chaque fois que l'appel API réussit, je veux augmenter la progression de 1/6.
Alors, quelle est la meilleure pratique pour cela? Il n'est pas possible d'accéder à l'interface utilisateur depuis l'extérieur du thread principal (en essayant de transférer le paramètre syncHealthProgress en paramètre vers les appels API qui semblent sales et qui ne fonctionnent pas).
Un conseil?
S'il vous plaît mettre à jour votre question avec le code pertinent montrant ce que vous avez fait et ce que vous avez essayé. Expliquez clairement les problèmes que vous rencontrez avec le code. – rmaddy