2013-03-17 9 views
7

Dobry wieczór!persistentStoreManagedObjectContext vs mainQueueManagedObjectContext

Tak więc miałem problemy ze zrozumieniem, co do diabła dzieje się podczas zapisywania moich danych w danych podstawowych. Po pierwsze, szybkie pytanie:

1) Kiedy powinienem używać persistentStoreManagedObjectContext i kiedy powinienem używać mainQueueManagedObjectContext ?! W tej chwili zawsze używam persistentManagedObjectContext, ale widzę, że wywołanie RestKit "getObjectsPath", obiekt będzie mainQueueObjectContext. Dlaczego?!

Dzięki!

Odpowiedz

2

persistentStoreManagedObjectContext może zostać użyty do wypełnienia innego NSManagedObjectContext (np. Dla wątku tła).

Więc jeśli nie opuścisz głównego wątku podczas uzyskiwania dostępu do obiektu, użyj mainQueueManagedObjectContext i jesteś na bezpiecznej stronie.

+0

Noob pytanie wtedy: Skąd mam wiedzieć, czy opuszczam główny wątek, czy nie? – abisson

+0

Chyba, że ​​używasz 'dispatch_async' lub' NSOperation' i zamierzam użyć wątku tła, twojego zapisu. W skrócie: kiedy nie wiesz, czy używasz wątku tła, czy nie, twój zapis;) – flashfabrixx

+0

Hej! Nadal mam jakiś problem z tym ... Niedawno wpadłem w problem, w którym z jakiegoś powodu CoreData zawiedzie i tak dalej ... i myślę, że to ma związek z tym. Używałem uporczywe w ten sposób. https://dpaste.de/XDuc Czy powinienem użyć głównego, a następnie zrobić SaveToPersistent? – abisson