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:
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. objectA
du context principal, puis save le context privé, puis récupérer à nouveau objectA
du context principal? Merci d'avance