12.2. Wykonywanie długotrwałych operacji w tle
Problem
Chcesz „pożyczyć” nieco czasu od systemu iOS w celu ukończenia długotrwałego zadania, kiedy aplikacja przechodzi do działania w tle.
Rozwiązanie
Użyj metody egzemplarza o nazwie beginBackgroundTaskWithExpirationHandler:
klasy UIApplication
. Po zakończeniu zadania wywołaj metodę egzemplarza endBackgroundTask:
klasy UIApplication
.
Analiza
Kiedy aplikacja iOS jest umieszczana w tle, następuje wstrzymanie działania wątku głównego. Działanie wątków utworzonych w aplikacji za pomocą metody klasy o nazwie detachNewThreadSelector:toTarget:withObject:
klasy NSThread
również zostaje wstrzymane. Jeżeli próbujesz dokończyć długo wykonywane zadanie podczas umieszczania aplikacji w tle, musisz wywołać metodę ...
Get iOS 5. Programowanie. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.