Je n'arrive pas à faire en sorte que mon interface utilisateur reflète les modifications externes (apportées par un autre processus) à un magasin de données sqlite.Problème de réinitialisation/actualisation NSManagedObjectContext et NSArrayController
J'ai une vue NSArrayController/table basée sur des données de base assez standard. Mon application est notifié que les changements externes ont été apportées aux données, à quel point je fais un
[managedObjectContext reset]; // brute force, but data set is small
Le problème est, cette opération efface toutes les données de la table. Le fichier arrangedObjects du contrôleur de réseau est également vide. Je pensais qu'un ultérieur
[arrayController fetch:nil];
pourrait aider, mais ce n'est pas le cas. L'exécution d'une requête d'extraction sur le managedObjectContext montre que les données sont présentes et mises à jour, ainsi le managedObjectContext connaît les modifications.
Des indices sur la façon de "récupérer" à partir de la réinitialisation? Ou peut-être l'approche de réinitialisation est-elle complètement erronée, auquel cas existe-t-il un meilleur moyen de charger les changements externes?
Lorsque vous dites un autre processus, est-il externe à l'application ou à un autre thread dans l'application? –
Je veux dire processus dans le sens habituel, donc oui - c'est externe à l'application, pas seulement un fil séparé dans l'application. – Adrian