Pytanie jest dość proste: kiedy należy użyć metody NSManagedObjectContext o nazwie save:(NSError **)error
? Z tego, co rozumiem, jedyne, co robi, zapisuje zmienione dane w trwałym sklepie. Delegat aplikacji wygenerowany przez Xcode wywołuje metodę save: na applicationWillTerminate
, czy to wystarczy?Kiedy użyć metody save: metody NSManagedObjectContext
Szczegóły o kodzie:
- Wielowątkowym (robi operacje w tle, dzięki czemu przy użyciu wielu
NSManagedObjectContext
„s) - używam jeden
NSPersistentStoreCoordinator
- Dane zmienione na wątków tła jest scalony za pomocą
mergeChangesFromContextDidSaveNotification:
- Jeśli potrzebujesz więcej informacji, proszę pytać!
Nie mogłem znaleźć wytycznej, kiedy to nazwać, więc postanowiłem zapytać was wszystkich. Z góry dziękuję za twoje odpowiedzi!
A dla zadań tła, takich jak pobieranie nowych informacji z Internetu i dodawanie ich do modelu, który można zapisać po zakończeniu dodawania? Dzięki za odpowiedź! – Koen
Tak - oszczędzałbym, kiedy to się skończyło. Pamiętaj, że twój ManagedObjectContext jest specyficzny dla wątków, więc nigdy nie twórz wątku tła, aby zrobić dla ciebie oszczędności. – dtuckernet
Nazywam 'zapisz:' na tym samym wątku Tworzę obiekt NSManagedObjectContext, który najczęściej jest w wątkach w tle. To nie powinno stanowić problemu, o ile inicjowanie i zapisywanie odbywa się w tym samym wątku, prawda :-) – Koen