Muszę przeprowadzić serię operacji pobierania i zapisywania bazy danych w mojej aplikacji. Używam NSOperationi NSOperationQueuedo 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 NSOperationdla każdego zadania. W pierwszym przypadku (Zadanie1) wysyłam do serwera żądanie pobrania wszystkich kodów pocztowych. Delegat w ramach NSOperationotrzyma dane. Dane te są następnie zapisywane w bazie danych. Operacja na bazie danych jest zdefiniowana w innej klasie. Z NSOperationklasy 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 NSOperationi NSOperationQueue.