Muszę przeprowadzić serię operacji pobierania i zapisywania bazy danych w mojej aplikacji. Używam NSOperation
i NSOperationQueue
do tego samego.
To jest scenariusz aplikacji:
- Pobierz wszystkie kody pocztowe z miejsca.
- Dla każdego kodu pocztowego pobierz wszystkie domy.
- Dla każdego domu należy pobrać dane dotyczące mieszkańców
Jak powiedziałem, zdefiniowałem NSOperation
dla każdego zadania. W pierwszym przypadku (Zadanie1) wysyłam do serwera żądanie pobrania wszystkich kodów pocztowych. Delegat w ramach NSOperation
otrzyma dane. Dane te są następnie zapisywane w bazie danych. Operacja na bazie danych jest zdefiniowana w innej klasie. Z NSOperation
klasy wykonuję wywołanie funkcji zapisu zdefiniowanej w klasie bazy danych.
Moje pytanie brzmi, czy operacja zapisu do bazy danych występuje w wątku głównym, czy w wątku w tle? Ponieważ wywoływałem go w ramach NSOperation
, spodziewałem się, że będzie działał w innym wątku (nie MainThread) jako NSOperation
. Czy ktoś może wyjaśnić ten scenariusz podczas pracy z NSOperation
i NSOperationQueue
.