2016-11-26 9 views
0

Meine App wurde beendet, um unerwartet zu antworten. Ich habe recherchiert und festgestellt, dass dieser Operator nie ausgeführt wird (siehe Bild). Warum? Warteschlange ist null. Ich benutze Xcode 8.1. In Punkt "komm her" bin ich auf dem Thread 3. So wird keine Anfrage durchgeführt. enter image description hereWarum wird DispatchQueue.main.async nicht ausgeführt?

Bearbeiten. Storyboard wird gleichzeitig geladen. iOS kann das Storyboard, das ich in Xcode 7.3 erstellt habe, nicht laden. Auch hatte es in Xcode 8 schon einige Zeit funktioniert. Ich weiß nicht was passiert ist und warum es fertig ist zu arbeiten. Ich habe Änderungen an Git überprüft. Sie sind abwesend. Wahrscheinlich muss ich mein Storyboard auf Xcode 8 neu erstellen.

+0

Wenn Sie den 'async'-Aufruf erreichen, aber nie sehen, dass der übergebene Code ausgeführt wird, kann ich vermuten, dass die Hauptwarteschlange blockiert/festgefahren ist. Was hast du gerade im Hauptthread ausgeführt? – Rob

+0

@Rob und die zunehmende Speicherauslastung sichert dies auch. – jjatie

+0

Haben Sie es jemals herausgefunden? –

Antwort

0

Basierend auf dem, was Sie gezeigt haben, ohne den vollständigen Kontext, schätze ich, dass der Code unendlich Schleifen (daher Speichererweiterung) ist. Ein Code aus der Hauptwarteschlange führt einen asynchronen Anruf unendlich aus und löst diese "Antwort" -Funktion aus, wenn der Anruf beendet wird. Die Antworten werden an main gesendet, aber sie werden nicht ausgeführt, da die Hauptwarteschlange in Async-Aufrufe umgewandelt wird.

Verwandte Themen