Dies ist eine "Best Practice" -Frage. Ich kann keine gute Antwort für Online finden. Ich erstelle eine statische Code-Bibliothek, die unter anderem mehrere Delegate-Methoden für Fortschritts-Feedback bietet.Sollten meine iOS-Delegiertenmethoden immer im Hauptthread zurückgegeben werden?
Die Bibliothek verwaltet ihre eigenen Warteschlangen, also werden Dinge wie Downloads offensichtlich nicht im Hauptthread erledigt, aber meine Frage ist, sollte ich sicherstellen, dass meine Delegiertenmethoden immer am Hauptthread aufgerufen werden oder es akzeptabel ist, sie aufzurufen die warteschlangen Threads, die ich verwende? und sich auf den Entwickler verlassen, der die Bibliothek verwendet, um zu überprüfen, ob er im Hauptthread ist, wenn er UI-Aktualisierungen in meinen Delegate-Methoden durchführen möchte?
Cheers, Sam
Vielen Dank für Ihre Antwort, es scheint, dass "Best Practice" in diesem Fall wirklich vom Szenario abhängt. – Sammio2
Es kommt darauf an. Aber ich würde empfehlen, immer eine "interne private" Warteschlange für die Ausführung der Client-Blöcke zu verwenden. Dies ist die einzige zuverlässige Möglichkeit, um versehentliches Sperren durch den Benutzercode zu vermeiden, wenn er irgendwo im Block eine dispatch_sync() -Aufforderung aufruft. – CouchDeveloper
Danke, ja, ich benutze interne private Warteschlangen in der Bibliothek. – Sammio2