Ich habe ein paar Tabs in meiner iPhone-Anwendung, die ein paar Sekunden dauern, um zu laden (ziehen große Mengen von Daten aus einer lokalen SQLite-Datenbank). Wenn die Benutzer die Registerkarten berühren, scheint es, als würde die Anwendung nichts tun. Ich habe versucht, ein Fenster mit einem Spinner aufzustellen, es wird jedoch nie angezeigt, da die Verarbeitung unmittelbar folgt.NSRunloops und Erzwingen Ereignisverarbeitung
Ich weiß, ich habe ein paar verschiedene Optionen zum asynchronen Laden der Daten, aber ich wollte die Community abfragen und sehen, ob es potenzielle Probleme mit nur zwingt einen anderen Zyklus des NSRunloop, um das Fenster zu zeigen.
Hier ist, was mein Code sieht aus wie ...
[[ActivityIndicator sharedActivityIndicator] show];
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]];
Auf einer Skala von 1 bis 10, wie schlecht würden Sie dies Hack bewerten?
ich mit Jack einverstanden und ich denke, dass Lounges ist für seine zweite Antwort „performSelectorInBackground“ suchen - mit Rückruf. – mobibob