IOS Grand Central Dispatch mit Rückrufmethode

8

Ich habe keine GCD oder viel Threading in meinen Apps verwendet, aber ich bin in eine Situation geraten, in der ich eine oder zwei Methoden aus einem anderen Thread ausführen muss. Sobald diese Methode fertig ist, muss ich eine andere Methode aufrufen, die den Haupt-Thread eines Callbacks verwendet. Ich habe herumgesucht, um zu sehen, wie man erkennt, wenn ein Thread die Operation beendet hat, aber immer noch nicht zu klar auf dem Thema.

Ich habe eine Test-App erstellt und nur die Methode viewDidLoad für ein schnelles Beispiel verwendet.

%Vor%

Funktioniert dieses Beispiel für das, was ich versuche? Beim Ausführen der Anwendung scheint die Callback-Methode aufgerufen zu werden, nachdem der sleep (5) beendet wurde. Ist das der richtige Weg, um mit dieser Situation umzugehen oder bin ich vom Kurs abgekommen?

    
tg2007 29.10.2012, 03:54
quelle

1 Antwort

6

Sie sind genau richtig; das ist das Standardmuster für den Aus- und Einstieg. Siehe meine Antwort hier: Ссылка

Und zum Beispiel Code aus meinem Buch, so strukturiert:

Ссылка

In diesem Beispiel sehen Sie, wie drawThatPuppy aus dem Hauptthread aussteigt, um die zeitaufwändigen Berechnungen durchzuführen, und dann zurück zum Hauptthread, um die Zeichnung in die Schnittstelle zu übernehmen.

    
matt 29.10.2012, 04:03
quelle