Les contexts d'objects gérés peuvent-ils gérer les mêmes objects dans des threads différents (files d'attente principales / privées)?

J'ai un NSManagedObjectContext dans la queue principale (le context par défaut fourni dans AppDelegate ), et je crée un autre NSManagedObjectContext dans une file d' attente privée pour requestr des mises à jour de données aux services Web. J'utilise le context principal pour récupérer tous les objects à afficher et gérer dans toute l'application, et j'utilise le context privé pour insert les nouveaux objects que je reçois des services afin d'éviter de bloquer l'interface user et d'éviter d'interférer avec les objects le context principal dans le cas où l'user et / ou l'application travaillent avec eux. Les deux contexts sont "frères et sœurs", ils ne sont pas parents et enfants. C'est parce que j'ai besoin de créer tous les nouveaux objects pour savoir plus tard si certains d'entre eux doivent être supprimés (une propriété des objects l'indique).

Le point est, j'ai alors des sets d'objects dupliqués, un dans le context principal et un autre dans le context privé. Ils doivent avoir différents ID d'object, mais selon la logique de mon application, ils sont les mêmes objects. Si j'ai un objectA dans le context principal, et que je reçois le même objectA dans le context privé mais avec des valeurs mises à jour, j'ai besoin de replace objectA dans le context principal par objectA dans un context privé. Mais ils ont théoriquement objectID différent. Mes questions sont:

  1. Puis-je searchr objectA dans le context principal, le supprimer à partir de là, et utiliser objectWithID pour "transférer" objectA du context privé à la main? En tenant count du fait que le context principal est dans la queue principale et que le privé est dans une queue privée.
  2. Au lieu de cela, dois-je supprimer objectA du context principal, puis save le context privé, puis récupérer à nouveau objectA du context principal?
  3. Peut-être que je devrais gérer ce scénario d'une autre manière …

Merci d'avance