Ich habe eine asynchrone Aufgabe wie folgt:Wie kann ich benachrichtigt werden, wenn eine dispatch_async-Aufgabe abgeschlossen ist?
dispatch_async(dispatch_get_main_queue(), ^{
myAsyncMethodsHere;
});
Gibt es eine Möglichkeit benachrichtigt werden, wenn die Hintergrundaufgabe abgeschlossen ist?
Oder eine Methode nach Abschluss aufrufen?
Ich habe die Dokumentation durchgelesen und habe in dispatch_after nachgeschaut, aber es scheint eher so zu sein, dass die Methode nach einer gewissen Zeit versendet werden kann.
Danke für die Hilfe.
.. Hallo Ich habe einen Zweifel .. entsprechend den Dokumentationen: dispatch_async sofort zurückkehrt, und führt dann der Block asynchron im Hintergrund. Mein Zweifel ist .. da wir dispatch_release nach dem Aufruf von inner dispatch_async verwenden, wird es nicht die Zielwarteschlange freigeben, bevor der innere Block darauf ausgeführt wird? – Devarshi
möglicherweise kann es besser sein, die Freisetzung Innenseite des dispatch_async Rückruf umfassen, so wie: dispatch_async (destination_queue,^{ reply_block (r, err); dispatch_release (destination_queue);}); – ACBurk
Ich glaube, dass die Warteschlange bei der Erstellung des Blocks beibehalten wird, nicht, wenn es ausgeführt wird. –