Problem beim Zurücksetzen / Aktualisieren von NSManagedObjectContext und NSArrayController

Ich habe Probleme, die Benutzeroberfläche dazu zu bringen, externe Änderungen (die von einem anderen Prozess vorgenommen wurden) an einem SQLite-Datenspeicher wiederzugeben.

Ich habe einen ziemlich standardmäßigen Kerndaten-basierten NSArrayController / Tabellen-View. Meine App wird benachrichtigt, dass externe Änderungen an den Daten vorgenommen wurden. Zu diesem Zeitpunkt führe ich Folgendes aus:

[managedObjectContext reset]; // brute force, but data set is small

Das Problem ist, dass dadurch alle Daten aus der Tabelle gelöscht werden. Die arrangementObjects des Array-Controllers sind ebenfalls leer. Ich dachte eine Folge

[arrayController fetch:nil];

könnte helfen, tut es aber nicht. Wenn Sie eine Abrufanforderung für managedObjectContext ausführen, werden die Daten angezeigt und aktualisiert, sodass managedObjectContext über die Änderungen informiert ist.

Gibt es Hinweise, wie Sie nach dem Zurücksetzen "wiederherstellen" können? Oder vielleicht ist der Reset-Ansatz insgesamt falsch. In welchem ​​Fall gibt es eine bessere Möglichkeit, die externen Änderungen zu laden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage