Ich versuche eine Antwort vom Server zu behandeln, und ich empfange die Antwort, es dauert jedoch eine Weile, um den Rest fortzusetzen .. Überraschenderweise funktioniert Drucksachen gut und ich überprüfe die Echtzeit Server ändert sich, und es funktioniert auch gut. Es liegt also am xcode.Funktion dauert, um nach Erhalt der Antwort fortzufahren
Nach Erhalt der Antwort und überprüfen, ob es Erfolg ist oder nicht, überprüfe ich ..
// Received HTTP Response
if let status = json["status"].string {
if status == "success" {
print("C")
activityView.stopAnimating()
activityView.removeFromSuperview()
self.someAnimation()
print("D")
} else {
...
}
}
Überraschenderweise C & D sofort gedruckt werden, aber die Aktivität Animation scheint nicht zwischen zu stoppen in. Es dauert etwa 10 weitere Sekunden, um abgeschlossen zu werden und den activityIndicator zu stoppen und zu entfernen. Die benutzerdefinierte Animation someAnimation()
wird auch gleichzeitig mit dem activityIndicator fortgesetzt.
Ich verstehe, es ist ein asynchroner Thread, aber muss nicht activityIndicator stoppen und fortfahren, wie es print("D")
erreicht?
Ich glaube, Sie beantwortet sie in Ihre eigene Frage. Es ist asynchron - einigeAnimation wird aufgerufen, und dann wird die Anweisung gedruckt. – Neel
Stellen Sie sicher, dass Sie activityView.stopAnimating() im Hauptthread aufrufen und nicht im Hintergrundthread. –
Sie sollten alle UI-Sachen im Hauptthread machen. – heximal