2016-05-24 14 views
1

Ich muss einige Heavy UI-Task durchführen.Bevor ich diese Aufgabe starte, möchte ich überprüfen, ob der Benutzer mit der App interagiert, wie die Tabelle scrollt oder die Eingabe in Textfeld eingibt. Gibt es eine Möglichkeit, es zu überprüfen?Wie man weiß, ob der Benutzer mit der App interagiert

+0

Was würden Sie tun, wenn sie sind und was, wenn sie nicht? Dies kann Auswirkungen auf Lösungen/verfügbare Optionen haben. – MikeT

+0

Ich muss mehrere Zeilen in der Tabellenansicht einfügen. Wenn ich das tue blockiert es die Benutzeroberfläche für einige Zeit. Wenn Benutzer mit der App interagiert, werde ich die Zeile nicht einfügen, so dass Benutzer nicht blockiert werden. –

Antwort

1

Es ist schwer, ohne zu wissen, die Besonderheiten zu sagen -oder was Ihre „schwere UI Aufgabe“ ist, aber vielleicht die beste Schuss (schwere Aufgaben sollten in dem Hintergrund, um nicht Block der UI! Ausgeführt werden) ist zu tun, was Sie tun würden, um z. B. lange Zeiträume zu erkennen, in denen Ihre App nicht verwendet wird:

Überschreiben Sie die Methode -sendEvent: der Klasse UIApplication.

Beispiel:

override func sendEvent(event: UIEvent) 
{ 
    super.sendEvent(event) 

    // Do your stuff 
    // (e.g., update timestamp of last user interaction) 
} 
+0

Das Problem ist, dass ich die UI-Task ausführen muss. So kann ich es nicht im Hintergrund thread.Thanks für den Vorschlag. Lass mich es versuchen. –

+0

Ich kann mich nicht daran erinnern, wie die App Ihre 'UIApplication'-Unterklasse für das Anwendungsobjekt (anstelle der' UIApplication 'selbst) in swift verwenden kann. Eine Websuche sollte Ihnen die Antwort geben. Viel Glück! –