Problem resetowania / odświeżania NSManagedObjectContext i NSArrayController

Mam problem z tym, aby mój interfejs użytkownika odzwierciedlał zewnętrzne zmiany (wprowadzone przez inny proces) w magazynie danych sqlite.

Mam dość standardowy rdzeń oparty na danych NSArrayController / widok tabeli. Moja aplikacja zostaje powiadomiona, że ​​w danych wprowadzono zewnętrzne zmiany, w tym momencie robię

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

Problem polega na tym, że wykonanie tego powoduje wyczyszczenie wszystkich danych z tabeli. Ułożone obiekty kontrolera tablicy są również puste. Myślałem o kolejnym

[arrayController fetch:nil];

może pomóc, ale tak nie jest. Wykonanie żądania pobrania na managedObjectContext pokazuje, że dane są obecne i zaktualizowane, więc managedObjectContext wie o zmianach.

Wszelkie wskazówki, jak „odzyskać” po zresetowaniu? A może podejście resetowania jest całkowicie błędne, w takim przypadku czy istnieje lepszy sposób na załadowanie zmian zewnętrznych?

questionAnswers(2)

yourAnswerToTheQuestion