Timer in einem anderen thread in Objective - C
Habe ich zu definieren, die Methode, die aufgerufen werden soll in regelmäßigen Abständen mit etwas Zeit-Intervall. Ich muss es aufrufen, in einem anderen thread (NICHT im Haupt-thread), weil diese Methode wird verwendet, um Informationen von externen API und sync-Daten in core data.
Wie definiere ich diese Methode nicht blockiert Haupt-thread?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es sei denn, Sie haben eine spezifische Notwendigkeit für die Timer, die Sie verwenden können, die " Grand Central Dispatch.
Dem folgenden snippet wird die Ausführung eines Blocks nach 2 Sekunden, auf die Priorität der gleichzeitigen Warteschlange (ich.e ein hintergrund-thread). Sie können ändern Sie die Priorität der Warteschlange, wenn Sie sehen, passen, aber es sei denn, Sie ' re Umgang mit vielen unterschiedlichen Operationen auf concurrent queues, Standard genügt.
Wenn Sie wollen, rufen Sie diese wiederholt, dann können Sie
dispatch_source_set_timer
um eine wiederholte Ausführung. Die jist davon ist unten:Verwenden NSRunLoop und NSTimer für Arbeit